web-dev-qa-db-ja.com

pythonコマンドは、間違ったバージョンのpythonインタプリタを起動します

Mac OS Xバージョン10.13.1を使用していますが、anacondaをインストールしました。コマンドを使用して仮想環境を作成しました

conda create -n py3 python=3

次に、私はpythonインタプリタをコマンドを使用して開始しました

python

驚いたことに、python 3.6の代わりに、プレインストールされたpython 2.7が表示されました。何が問題なのかを確認するために、コマンドを発行しました

which python

結果はさらに驚くべきものでした、私は以下を得ました:

/Users/karlstroetmann/anaconda2/envs/py3/bin/python

次にコマンドを呼び出したとき

/Users/karldrstroetmann/anaconda2/envs/py3/bin/python

python 3.6.3。を取得しましたが、pythonと入力するだけではこのバージョンを呼び出せない理由がわかりません。ここで何が欠けているのですか?とても有難い。

3

pythonコマンドが hashed になっている可能性が高く、キャッシュをクリアする必要があります。実際に実行されている実行可能ファイルを確認するには、typeコマンドを使用できます。例:

type -a python

whichコマンドとは異なり、typeコマンドはハッシュされたプログラム、エイリアス、シェル関数を認識します。

シェルによって実行されるプログラムを決定するために使用する(しゃれはありません)コマンドの詳細については、次の投稿を参照してください。

または、hashコマンド自体を使用して、特定のコマンドがハッシュされているかどうかを確認することもできます。例:

hash -t python

引数なしでhashを実行することにより、すべてのハッシュコマンドをリストすることもできます。

hash

同様に、aliasコマンドを使用して、特定のコマンドがエイリアスかどうかを確認できます。例:

alias python

また、すべてのアクティブなエイリアスを一覧表示することもできます。

alias

キャッシュされたPython=プログラムをクリアするには、次のコマンドを使用できます。

hash -d python

または、一度にすべてをクリアすることもできます。

hash -r

単一のエイリアスをクリアするには、unaliasコマンドを使用できます。例:

unalias python

または、すべてのエイリアスを一度にクリアすることもできます。

unalias -a
6
igal

私は自分の問題を解決しました、それは愚かな間違いでした:.bashrcにpythonのエイリアスがありました。このエイリアスのことを忘れていたため、問題が発生しました。

0