我一直在Ubuntu上使用virtualenv,它很震撼,所以我试图在Mac上使用它,但我遇到了麻烦。
virtualenv
命令成功地创建了目录,并且easy_install
很乐意在其中安装软件包,但是我无法导入我安装的任何内容。似乎没有正确设置sys.path
:它不包括虚拟的site-packages
,即使我使用了--no-site-packages
选项。我做错什么了吗?
我在MacOS10.5.6上使用Python2.5.1和Virtualenv1.3.3
编辑:以下是我尝试使用virtualenv时发生的情况:
$ 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']
编辑2:使用activate_this.py
脚本可以工作,但运行source bin/activate
则不行。希望这有助于缩小问题的范围?
同一个OS X/Python/virtualenv版本(OS X 10.5.6、Python 2.5.1、virtualenv 1.3.1)没有任何问题
要签入干净的shell,请运行以下命令:
或者来自virtualenv文档:
这将迫使当前的Python shell进入virtualenv
另外,在运行
source test/bin/activate
之后,尝试使用-v
标志(verbose)运行python,它可能会产生一些有用的东西。结果发现,我在virtualenv上的问题是我自己的错:我将
.bash_profile
配置为使用PYTHONPATH
环境变量,这导致了导入问题。感谢所有花时间回答问题的人;很抱歉我没有自己进一步调查这个问题。
相关问题 更多 >
编程相关推荐