2016-09-08 9 views
-1

私は、システムの場所に、通常のシステムのpythonに2.7のパッケージを持っている複数のpython仮想のenv

を仮定それから私は、私はその後、私はそれを無効にして

を行うが、すべての要件

をインストール

virtualenv env1 

を行います

export PYTHONPATH=$PYTHONPATH:/path/to/env1 

次に、私はvirtualenv env2を実行し、次に新しい要件thをインストールしますERE

その後、私は私の質問再び

export PYTHONPATH=$PYTHONPATH:/path/to/env2

これを行うENV1にインストールされている

すべてpackagaes、ENV2またはENV2にインストールされることはありませんが、新しいpackagaesがインストールされますです。

私はの場合、env2が有効になっていると問題が発生します。それはすでに要件を満たしていると言います

次に、私はPythonシェルを開いて、mymoduleをインポートします。モジュールが見つかりません。私はモジュールがenv1にあったのを見ることができます。

env1からそのモジュールを削除してから、env2にインストールしてから動作させる必要がありました。

私は知りたいですよね

答えて

1

モジュールをインストールする前にenv2を有効にしましたか?あなたはvirtualenvのから任意のモジュールをアンインストールする場合

を有効/

ソースビンは、その後、使用

仮想を有効化していない

おそらく
0

ピップアンインストールモジュール名(venvと呼ぶことができます)、パッケージシステム全体をインストールしました。

まず、venvを有効にしてから、いずれかのvenvでインストールを進めることをお勧めします。

次のコードを使用してvenv有効にすることができます。

cd ~/venv/ 
source /bin/activate 
1

まず、手動でPYTHONPATHを変更しないでください。 手順は次のようになります。

[[email protected] src]$ source /usr/local/env1/bin/activate 
(env1)[[email protected] src]$ # pip install blah 
(env1)[[email protected] src]$ source /usr/local/env2/bin/activate 
(env2)[[email protected] src]$ #pip install blah 
(env2)[[email protected] src]$ 
+0

手動でPYTHONPATHを追加するとどうなりますか?なぜ私はそれを行う理由はいくつかのpackaages私は手動でインストールするように私は1つの仮想envをスナップショットに格納し、他の人がピップ経由でavaibalbeではないそれらをインストールする必要はありませんので、Pythonのパスに入れている。私はその考え方が間違っている – Karl

関連する問題