Jus*_*oss 3 python macos virtualenv
我一直在Ubuntu上使用virtualenv它摇滚,所以我试图在我的Mac上使用它而我遇到了麻烦.
该virtualenv命令成功创建了目录,并easy_install乐意在其中安装包,但我无法导入我安装的任何内容.似乎sys.path没有正确设置:它不包括虚拟site-packages,即使我使用该--no-site-packages选项.难道我做错了什么?
我在Mac OS 10.5.6上使用Python 2.5.1和virtualenv 1.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']
Run Code Online (Sandbox Code Playgroud)
编辑2:使用activate_this.py脚本工作,但运行source bin/activate没有.希望这有助于缩小问题范围?
我在使用相同的OS X/Python/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',
Run Code Online (Sandbox Code Playgroud)
要检查一件事 - 在干净的shell中运行以下命令:
$ 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'
Run Code Online (Sandbox Code Playgroud)
或者来自virtualenv文档:
activate_this = '/path/to/env/bin/activate_this.py'
execfile(activate_this, dict(__file__=activate_this))
Run Code Online (Sandbox Code Playgroud)
这应该强制当前的Python shell进入virtualenv
此外,在运行source test/bin/activate尝试使用-v标志(详细)运行python 后,它可能会产生一些有用的东西.
事实证明,我的 virtualenv 问题是我自己的错:我配置了.bash_profile环境PYTHONPATH变量,这导致了导入问题。
感谢所有花时间回答的人;很抱歉我没有自己进一步调查这个问题。
| 归档时间: |
|
| 查看次数: |
21853 次 |
| 最近记录: |