Apt-getでpython2.7とpyhton3.5をインストールしました。
。bashrcには、python3をデフォルトにするalias python=python3
があります。これはpythonを直接実行するだけで機能しますが、/ usr/bin/envでは機能しないようです。
この場合、どのようにpython3を強制できますか?
$ python --version
Python 3.5.2
$ /usr/bin/env python --version
Python 2.7.12
これは、env
が、python
でPATH
を検索しているためであり、Shellビルトイン、エイリアス、関数ではありません。 python
をエイリアスとしてpython3
として定義したので、env
はそれを見つけられません。PATH
を検索し、python
を/usr/bin/python
(python2
)に解決します。
実行可能なpython
の使用可能な場所をすべて確認するには、bash
で次のようにします。
type -a python
定義上、Shebangでエイリアスを使用する場合、Shebangはインタープリター実行可能ファイルへのフルパスである必要があり、env
は/usr/bin/env python
を使用するときにpython
を解決する必要があります。 python3
を使用してスクリプトを解釈するには、Shebangを使用します。
#!/usr/bin/env python3
/ usr/bin/envを呼び出すスクリプトの数を考えると、pythonはpython 2を期待していますが、pythonを実際にpython 3。
Bennyがコメントで述べたように、/usr/bin/env python3
は正しい解決策です。