2009-05-09 12 views
3

私はUbuntuでvirtualenvを使用していましたが、それは揺れるので、私はMacで使用しようとしており、問題があります。Mac OS Xでvirtualenvを使用

virtualenvコマンドを実行すると正常にディレクトリが作成され、easy_installはパッケージをうれしくインストールしますが、インストールするものはインポートできません。 sys.pathが正しく設定されていないようです:--no-site-packagesオプションを使用しても、仮想site-packagesは含まれていません。私は何か間違っているのですか?

私は、Mac OS上でのPython 2.5.1とvirtualenvの1.3.3を使用してい10.5.6

編集

$ virtualenv test 
New python executable in test/bin/python 
Installing setuptools............done. 
$ source test/bin/activate 
(test)$ which python 
/Users/Justin/test/bin/python 
(test)$ which easy_install 
/Users/Justin/test/bin/easy_install 
(test)$ easy_install webcolors 
[...] 
Installed /Users/Justin/test/lib/python2.5/site-packages/webcolors-1.3-py2.5.egg 
Processing dependencies for webcolors 
Finished processing dependencies for webcolors 
(test)$ python 
[...] 
>>> import webcolors 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: No module named webcolors 
>>> import sys 
>>> print sys.path 
['', 
'/Library/Python/2.5/site-packages/SQLObject-0.10.2-py2.5.egg', 
'/Library/Python/2.5/site-packages/FormEncode-1.0.1-py2.5.egg', 
..., 
'/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5', 
'/Users/Justin/test/lib/python25.zip', 
'/Users/Justin/test/lib/python2.5', 
'/Users/Justin/test/lib/python2.5/plat-darwin', 
'/Users/Justin/test/lib/python2.5/plat-mac', 
'/Users/Justin/test/lib/python2.5/plat-mac/lib-scriptpackages', 
'/Users/Justin/test/Extras/lib/python', 
'/Users/Justin/test/lib/python2.5/lib-tk', 
'/Users/Justin/test/lib/python2.5/lib-dynload', 
'/Library/Python/2.5/site-packages', 
'/Library/Python/2.5/site-packages/PIL'] 

編集を:ここで私はvirtualenvの使用しようとすると何が起こるかです2activate_this.pyスクリプトを使用していますが、source bin/activateを実行しても機能しません。うまくいけば、それは問題を絞り込むのに役立ちますか?

+1

あなたはそのインタープリタでどのPythonパスを取得していますか(たとえば、sys.pathの値)?それがなければどこでデバッグを開始するのかを知ることは難しいです。 –

+1

あなたはそうだ、私はそれを含めるべきだった。私が切り捨てたパスの部分は、ほんの卵のファイルです。 –

答えて

1

virtualenvに関する私の問題は自分自身の問題であることが判明しました。私はPYTHONPATHという環境変数で自分の.bash_profileを設定していたため、インポートの問題が発生しました。

答えに時間がかかった皆さん、ありがとうございます。私自身でさらに問題を調査してくれて申し訳ありません。

6

私がチェックするために、同じOS X /パイソン/ virtualenvのバージョン(OS X 10.5.6、Pythonの2.5.1、virtualenvの1.3.1)

$ virtualenv test 
New python executable in test/bin/python 
Installing setuptools............done. 
$ source test/bin/activate 
(test)$ which python 
/Users/dbr/test/bin/python 
$ echo $PATH 
/Users/dbr/test/bin:/usr/bin:[...] 
$ python 
[...] 
>>> import sys 
>>> print sys.path 
['', '/Users/dbr/test/lib/python2.5/site-packages/setuptools-0.6c9-py2.5.egg', 

一つのことで何か問題があっていませんでした - きれいなシェルで、次のコマンドを実行します。

$ virtualenv test 
$ python 
[...] 
>>> import sys 
>>> sys.path 
['', '/Library/Python/2.5/site-packages/elementtree-1.2.7_20070827_preview-py2.5.egg'[...] 
>>> sys.path.append("test/bin/") 
>>> import activate_this 
>>> sys.path 
['/Users/dbr/test/lib/python2.5/site-packages/setuptools-0.6c9-py2.5.egg' 

またはvirtualenvのドキュメントから:

電流を強制する必要があります
activate_this = '/path/to/env/bin/activate_this.py' 
execfile(activate_this, dict(__file__=activate_this)) 

Pythonシェルをvirtualenvに入れてください

source test/bin/activate-vフラグ(verbose)でpythonを実行しようとすると、役に立つかもしれません。

+0

'import activate_this'技術は完全に機能しました。私はそれが 'activate'スクリプトとは違ってsys.pathを操作すると思いますか? –