シバン#!/usr/bin/env python
を使用する場合 スクリプトを実行するために、システムはどのpython
をどのように認識しますか 使用しますか? python
を探す場合 環境変数のビンパス何も見つかりません。
env | grep -i python
承認された回答:
シバンはインタプリタへのフルパスを使用することを想定しているため、次の構文は正しくありません。
#!python
このようにフルパスを設定すると、うまくいく可能性があります:
#!/usr/local/bin/python
ただし、Pythonが/bin
にインストールされている可能性があるため、移植性はありません。 、/opt/python/bin
、または他の場所。
env
を使用する
#!/usr/bin/env python
python
と同等のフルパスをOSに移植可能な方法で指定できるようにするメソッドです。 最初にPATH
にあります 。