2012-05-09 11 views
6

グローバルなpythonパッケージを使わずに、共有されているscipyディストリビューションを使ってvirtualenvを作りたい。 scipyをインストールするのにはかなりの時間がかかり、動きをあまり頻繁にやりたくはありません。add2virtualenv(virtualenv wrapper)がscipyで動作しない

私はadd2virtualenv /Library/Python/2.7/site-packages/scipyを実行し、add2virtualenvを実行した後、ディレクトリが追加されたことを示します。 (私はダブルチェック、それは正しいディレクトリです)。 次に、作業ディレクトリが再ロードされるようにworkon myfileを発行します。 しかし、scipyをロードしようとすると、ImportError: No module named scipyになります。これは予期せぬことです。

誰もグローバルサイト以外のパッケージvirtualenvでグローバルscipyを使用しましたか?

+1

add2virtualenv指定したディレクトリをPYTHONPATHに追加します。したがって、サイトパッケージ全体を追加してscipyをインポートする必要があります。 – rubik

+1

別の解決方法は、仮想envのサイトパッケージ内にscipyディレクトリをシンボリックリンクする必要があります – rubik

+0

ありがとうございます。だから、私はadd2virtualenvを使うべき方法を誤解していました。特定のパッケージを簡単に追加できるコマンドはありませんか? (シンボリックリンク以外は?) – Okke

答えて

3

要約すると、ここでの実際の問題は、特定のパッケージではなく、インポートするパッケージを含むディレクトリを使用する必要があることです。それは代わりに

add2virtualenv /Library/Python/2.7/site-packages/scipy 

のうち、それは

add2virtualenv /Library/Python/2.7/site-packages 

は用心する必要があります。このソリューションは、あなたが/Library/Python/2.7/site-packagesにscipyのダウンロードが、他のパッケージがないだけ含まれないという欠点を有しています。


スペース効率のよい代替ソリューションは、仮想envのサイトパッケージ内のシンピックディレクトリにシンボリックリンクすることができます。これは、あなたの仮想ENVで、行うことができます:すべてのクレジットは(コメントを参照)@rubikに行く

cdsitepackages 
ln -s /Library/Python/2.7/site-packages/scipy scipy 

をあなたのサイトのパッケージのパスを見つけることthis答えをチェックしてくださいそれがここで使用されているものとは異なる場合に。

関連する問題