私の問題は、最近引っ越したことでした この activate
により、別の場所への virtualenv を使用した私のプロジェクト スクリプトが間違っていた VIRTUAL_ENV
$ cat path_to_your_env/bin/activate
... # some declarations
VIRTUAL_ENV="/path_to_your_env/bin/python" # <-- THIS LINE
export VIRTUAL_ENV
... # some declarations
これを修正するには、VIRTUAL_ENV
を更新するだけです activate
で
また、 bin/pip
の最初の行を修正する必要があるかもしれません 実際の Python パスにリンクします。
which
というプログラムを取得できない場合 プラットフォームのエグゼキューターよりもチェーンの上位を調べる必要があります。通常、シェルにはコマンドをエイリアスする方法があり、ほとんどの unixy シェルでは alias
と入力するだけです。 どのコマンドが再マップされたかを確認します。次に、シェルの構成ファイルに移動してエイリアスを削除するだけです。
python
という別名を使う人もいます どの python を使用する必要があるかを整理しようとします。しかし、通常、他のより良い方法があります。たとえば、私の Linux マシンでは python3
はパスにありますが、私が使用している実際の python へのシンボリック リンクです。
[email protected] ~ $ which python3
/usr/bin/python3
[email protected] ~ $ ls -l /usr/bin/python3
lrwxrwxrwx 1 root root 9 Feb 17 2016 /usr/bin/python3 -> python3.4
[email protected] ~ $
Python を実行している非シェル プログラムは、私と同じものを取得し、仮想環境は自然に機能するため、これは素晴らしいことです。
tdelaney がコメントで提案したように、 alias
を実行しました 以前に python
にエイリアスを設定していたことがわかりました /usr/bin/python3.5
へ 私の .bashrc
で .
.bashrc
からそのエイリアスを削除しました 、実行 unalias python
、および source ~/.bashrc
そして問題は解決しました。
Cygwin では、ポイント /usr/bin/python
へのシンボリック リンクを作成した後でも、まだ問題があります。 F:\Python27\python.exe
へ .ここでは、source env/Scripts/activate
の後 、 which python
まだ /usr/bin/python
です .
長い間、私は解決策を考え出しました。 virtualenv env
を使用する代わりに 、 virtualenv -p F:\Python27\python.exe env
を使用する必要があります シンボリックリンクを作成したにもかかわらず。