私は仮想環境を扱う方法としてアナコンダを使用します。これは、複数のバージョンのPythonがインストールされていることを意味します。シェルでPythonを実行すると、間違ったPythonバージョンが起動する状況が発生します。
走る
Which python
/anaconda3/envs/dash-two/bin/python
type -a python
python is /anaconda3/envs/dash-two/bin/python
python is /usr/bin/python
これに触発されて郵便はがきhash -t pythonを試して、エイリアスの出力を見ました。
答え1
仮想環境を使用したいのですが、まだ有効にしていません。これを行うには(デフォルトのvenvエントリがインストールされていると仮定 - python3でよりうまく動作します)
$ mkdir pytry
$ python3 -m virtualenv pytry
pytry
.cdと入力すると、次pytry
の内容が表示されます。
$ ls
bin include lib local share
$
今走る
source bin/activate
仮想環境ディレクトリで上記の実行を参照してください(私たちの場合pytry
)。
$
これで、プロンプトを(たとえば)から変更する必要があることがわかります。(pytry) $
which python
Python実行可能ファイルが表示されます。
別の実行ファイルが必要な場合は、venvを作成するときに代わりに実行する必要があります。
python3 -m virtualenv pytry
する
python3 -m virtualenv -p other_python_executable pytry
通常、ヘルプが表示されます。
$ python3 -m virtualenv -h
答え2
これは「PATH」環境変数で制御されます。
PATHは、入力したコマンドに対して検索されるディレクトリのリストです。コロンで区切られた単一の文字列です。たとえば、PATHが次のように設定されているため、ホームディレクトリ()に入れたすべての項目は/home/philip/bin
使用されますが、その中の項目は使用されません。/usr/bin/
echo $PATH
/home/philip/bin:/usr/local/bin:/usr/bin:/bin:/usr/games
パスを一時的に変更するには、「エクスポート」を使用して設定できます。たとえば、
export PATH=/usr/local/bin:/usr/bin:/bin:/usr/games:/home/philip/bin
この機能を永久に設定するには、プロファイルで設定する必要があります。上記と同様の行(パスが並べ替えられている)をというホームディレクトリに配置します.profile
。存在しない場合は、その行を作成して追加するだけです。
答え3
AnacondaがPATHを踏んでいるようです(つまり、デフォルトのシステムインタプリタパスの前に独自のPythonインタプリタパスを置くこと)。この問題を解決する方法はいくつかあります。
正しいバージョンのPythonを使用してAnacondaインスタンスを作成します。
conda create -n myenv python=3.4
anacondaインスタンスをロードした後、PATH環境変数を上書きします。
export PATH=/usr/bin:$PATH
または、スクリプトファイルの最初の行にデフォルトパスを入力し、ファイルを実行可能にしてからシェルスクリプトとして実行します。スクリプトの最初の行は次のとおりです。
#!/usr/bin/python
"chmod"コマンドを使用してファイルを実行可能にすることができます。
> chmod 700 file.py
次に、コマンドラインから実行します。
> file.py