shebang行として `uv` を使う方法
(akrabat.com)~/bin/ディレクトリに自動化スクリプトをたくさん作成している。uvとインラインスクリプトメタデータを知ってから、Python をより多く使うようになった。~/binがパスに含まれているため、コマンドラインからスクリプトを直接実行したい。- そのために、次の shebang を使う:
#!/usr/bin/env -S uv run --script - コマンドラインはこれで
uv run --scriptを実行し、ファイルを引数として渡す。 uvは shebang を無視し、ファイルの残りを通常の Python ファイルとして実行する。chmod a+x {filename}コマンドでスクリプトに実行権限を付与すると、Python で書かれたシンプルなコマンドラインスクリプトを使えるようになる。このスクリプトは依存関係を自動で処理する。
1件のコメント
Hacker Newsのコメント
env -Sオプションを使うことで、shebang 行で複数の引数を渡せるようになるenv -Sは引数を個別に分割して実行するのに役立つuvを使って Python CLI ツールをインストールする方法を改善したcurl | shスクリプトを使って簡単にインストールできるようにしたuvを依存関係として持つ小さなインストール用パッケージを作成し、CLI ツールをインストールするProlog ファイルをシェルから実行できる方法を考案した
Trey Hunner の「Lazy self-installing Python scripts with uv」の記事で、さらに多くの例と詳細が提供されている
miseを使って小さな作業向けのスクリプトを書けるuvを使って Python スクリプトを実行する方法を紹介しているuv run pythonを使って Python 環境を管理するのは便利.venvを管理する必要なく、プロジェクト環境で REPL を実行できるuvをコマンド実行ランナーとして使う際にはいくつか注意点があるが、ほとんどの場合は時間の節約に役立つ.pyファイルを直接実行するときのパスの問題を解決するためのオプションがあるTypeScript ユーザーは Deno を使って同様のことを行える
deno runを使って権限フラグを追加できるNix パッケージマネージャーを使ってさまざまな言語と依存関係を管理できる