1. ホーム
  2. python

[解決済み] を付けるべきでしょうか?(shebang)を付けるべきか、またどのような形で付けるべきか?

2022-03-16 22:57:13

質問

Pythonスクリプトにshebangを入れるべきですか?どのような形で?

#!/usr/bin/env python 

または

#!/usr/local/bin/python

これらは同じように移植可能ですか?どの形式が一番使われているのでしょうか?

その トルネード プロジェクトは、その部分を使用しています。一方 Django プロジェクトにはありません。

解決方法は?

スクリプトのshebang行は、スクリプトをスタンドアロン実行ファイルのようにタイプすることなく実行できるかどうかを決定するものです。 python をターミナルであらかじめ表示したり、ファイルマネージャーでダブルクリックしたりすることができます(適切に設定されている場合)。これは必須ではありませんが、一般的には、エディターでファイルを開いたときに、何を見ているのかがすぐにわかるようにするために付けられます。しかし、どの shebang 行を使用するかは が重要です。

正しい の使用法(デフォルトはバージョン3.最新版) Python 3 スクリプトは

#!/usr/bin/env python3

正しい の使用法(デフォルトはバージョン2.最新版) Python 2 スクリプトは

#!/usr/bin/env python2

以下は ではない 使われる (ただし、Python 2.x と 3.x の両方と互換性のあるコードを書いている場合は例外です)。

#!/usr/bin/env python

で示された、これらの推奨の理由は PEP 394 ということです。 python を参照することができます。 python2 または python3 を別のシステムで使用することができます。

また、使用しないでください。

#!/usr/local/bin/python

pythonは/usr/bin/pythonまたは/bin/pythonにインストールされることがあります。 の場合、上記の#!は失敗します。

- "#!/usr/bin/env python" vs "#!/usr/local/bin/python"