Python スクリプトの最初の行に「#!/usr/bin/env python」と書くのはなぜですか? 質問する

Python スクリプトの最初の行に「#!/usr/bin/env python」と書くのはなぜですか? 質問する

Python ファイルの先頭に次の内容が表示されます:

#!/usr/bin/env python
#!/usr/bin/env python3

その行がなくてもファイルは同じように実行されるように思えます。

ベストアンサー1

複数のバージョンの Python がインストールされている場合、 は、/usr/bin/env環境の最初のインタープリターが使用されるようにします$PATH。 代わりに、 のようにハードコードすることもできます。#!/usr/bin/pythonこれは問題ありませんが、柔軟性が低くなります。

Unix では、解釈されることを意図した実行可能#!ファイルでは、最初の行の先頭に を置き、その後にインタープリター (および必要なフラグ) を続けることで、使用するインタープリターを指定できます。

もちろん、他のプラットフォームについて話している場合、このルールは適用されません (ただし、その「シェバン行」は害はなく、そのスクリプトをLinux、Mac などの Unix ベースプラットフォームにコピーする場合に役立ちます)。

おすすめ記事