ポートが提供するpython24を使用したいので、インストールしました。python_select -s
は、必要なバージョンが実際に選択されていることを示しています。 which python
を実行すると/opt/local/bin/python
が得られ、/opt/local/bin/python
を実行すると必要なバージョンが得られます。ただし、シェルからpython
を実行すると、代わりに/usr/bin/python
バージョンが取得されます。 pythonエイリアスがありません。
簡単に言うと、状況は次のとおりです。
which python
はこれを確認しているようです。alias
は1つのエントリのみを返しますが、これはこれとは関係ありません。それでも、bashシェルからpython
を実行すると、間違ったPythonが表示されます。
私はちょっと困惑しています!私は何を見落としていますか?
hash -d python
をお試しください。これにより、bashはpython実行可能ファイルを最後に見た場所を忘れるようになります。
おそらく、何かを更新したばかりで、bashインスタンスに実行可能ファイルに関する古い情報が含まれています。 exec bash
をお試しください。
私が:
qqq
(/usr/bin/qqq
)をbash
から開始します。qqq
を/usr/local/bin/
に追加します。qqq
でbash
をもう一度開始してみてください。すでに検索済みのバージョン(/usr/bin/qqq
)を使用します
ただし、bashを再起動すると、qqq
が再度検索され、/usr/local/bin/qqq
が取得されます。
もう1つの可能性は、スクリプト自体が、スクリプトの最初の行で実行するPython実行可能ファイルを指定していることです。たとえば、私のシステムにはPython 2.6および2.7がインストールされています、および最初の行が次のような場合:
#!/usr/bin/Python-2.6.8/bin/python
次に、2.7がシステムのデフォルトですが、Python 2.6になります。
デフォルトを指定する通常の方法は次のとおりです。
#!/usr/bin/env python