私はMac OS Xバージョン10.13.1を使用しており、ちょうどアナコンダをインストールしました。コマンドを使用して仮想環境を作成しました。
conda create -n py3 python=3
その後、次のコマンドを使用してPythonインタプリタを起動しました。
python
驚いたことに、/usr/binにプリインストールされたPython 2.7がPython 3.6の代わりに登場しました。何が間違っているかを確認するためにコマンドを実行しました。
which python
その結果は私をさらに驚かせました。私は次のような結果を得ました。
/Users/karlstroetmann/anaconda2/envs/py3/bin/python
私が命令を呼ぶとき
/Users/karldrstroetmann/anaconda2/envs/py3/bin/python
私はPython 3.6.3を手に入れました。しかし、なぜinputを介してこのバージョンを呼び出すことができないのかわかりませんpython
。私がここで何を見逃しているのでしょうか?どんなアドバイスも本当にありがとうございます。
答え1
python
コマンドはおそらくハッシュそしてキャッシュをクリアする必要があります。実際に実行中の実行可能ファイルを表示するには、次のコマンドを使用できます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
答え2
私は私の問題を解決しました。それは愚かな間違いでした。私の.bashrcにpythonのエイリアスがありました。このエイリアスを忘れたため、問題が発生しました。
答え3
アナコンダ(デフォルト)環境で仮想環境を呼び出すと、この現象が発生する可能性があります。conda deactivate
出口のためみんなアナコンダ環境を終了し、conda activate <myenv>
環境に戻ります。
とにかくこれは私にとって効果的です。このStackExchangeスレッドで見つかりました。