2017-05-24 16 views
0

私はCanopyとAnacondaの両方をインストールしています。私のデフォルトはCanopyですが、私がscreenを立ち上げるとAnacondaになります。ほとんどの場合、それは私の役に立つものですが、今度はscreenでCanopyを使用する必要があります。Python仮想環境でPythonモジュールが見つかりません

私は解決策は、仮想環境を作成することであると思うし、私はこのようにそのようにした:

cd /path/to/project 
virtualenv my_project 

問題:virtualenvのはnumpyのように、私のインストールPythonモジュールを参照することはできません。ここで

は私のプロセスの残りの部分です。ここで

[email protected]:~/path/to/my_project$ screen 
[email protected]:~/path/to/my_project$ source activate lstm_project 
(lstm_project) [email protected]:~/path/to/my_project$ python 

Enthought Canopy Python 2.7.6 | 64-bit | (default, Sep 15 2014, 17:36:10) 
[GCC 4.1.2 20080704 (Red Hat 4.1.2-54)] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 

>>> import numpy 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: No module named numpy 

はのsys.pathの出力です:

>>> print sys.path 

['', '/user/path/to/my_project', 
'/opt/enthought/canopy-1.5.1/appdata/canopy-1.5.1.2730.rh5-x86_64/lib/python27.zip', 
'/opt/enthought/canopy-1.5.1/appdata/canopy-1.5.1.2730.rh5-x86_64/lib/python2.7', 
'/opt/enthought/canopy-1.5.1/appdata/canopy-1.5.1.2730.rh5-x86_64/lib/python2.7/plat-linux2', 
'/opt/enthought/canopy-1.5.1/appdata/canopy-1.5.1.2730.rh5-x86_64/lib/python2.7/lib-tk', 
'/opt/enthought/canopy-1.5.1/appdata/canopy-1.5.1.2730.rh5-x86_64/lib/python2.7/lib-old', 
'/opt/enthought/canopy-1.5.1/appdata/canopy-1.5.1.2730.rh5-x86_64/lib/python2.7/lib-dynload', 
'/user/path/to/my_project/lib/python2.7/site-packages'] 

どのように私はvirtualenvのは、私はグローバルにインストールされているパッケージを認識してもらうことができますか?

+0

愚かな質問かもしれませんが、virutalenvを有効にした後に*モジュールをインストールしましたか? – errata

答えて

1

virtualenvデフォルトでは、システムパッケージは無視されます。あなたは、環境を作成している場合は、同じマシンで複数のプロジェクトに取り組んで行う

$ virtualenv my_project --system-site-packages 
1

は、プロジェクトで使用されるが、他のものではありませんされているいくつかのPythonパッケージ間の競合を引き起こす可能性があります。

それは主に人々がvirtualenvsを使用する理由です。

プロジェクトの環境ごとに1つの環境を作成し、その環境内にのみ依存関係をインストールすると、パッケージの競合を避けることができます。これはパッケージのそれぞれを追跡する非常に良い方法ですプロジェクトを実行する必要があるので、他の誰か(またはあなた)が別のコンピュータでプロジェクトを実行したい場合、実行するのに必要なすべてのパッケージ(それ以上)をインストールするのは非常に簡単です。

、あなたの質問に答えるために、あなたは、仮想環境内でグローバルなすべてのパッケージをインストールする場合は、次の手順を実行します

  1. オープンターミナル(使用すると、1つの中にいる場合はvirtualenvのを無効にします)。
  2. 実行:pip freeze > requirements.txt(これは、すべてのグローバルPythonパッケージを含む.txtファイルを作成します)。
  3. パッケージをインストールする環境を有効にします。
  4. あなたはrequirements.txtと同じフォルダにいることを確認してください(pip install -r requirements.txtを実行します。

私はあなたが何か質問はお気軽に持っている場合、私は、あまりにも多くのあなたを混同していないことを願っています。

関連する問題