私は通常、Pythonスクリプトで次のShebang宣言を使用しています。
#!/usr/bin/python
最近、私はこのシバン宣言に出くわしました:
#!/usr/bin/env python
スクリプトのドキュメントでは、このフォームを使用する方が「移植性が高い」ことに注意してください。
この宣言はどういう意味ですか?パスの中央にスペースがあるのはなぜですか?実際に収益性に貢献していますか?
#!/usr/bin/env python
一般に、プログラム/usr/bin/env
を使用すると、フルパスなしで目的のコマンドを「アクティブ化」できるため、移植性が向上します。
それ以外の場合は、Pythonインタープリターのフルパスを指定する必要がありますが、これは異なる場合があります。
したがって、Pythonインタープリターが/usr/bin/python
または/usr/local/bin/python
またはホームディレクトリにあったとしても、#!/usr/bin/env python
を使用すると機能します。