[英]Macports and virtualenv site-packages Fallback
我已经安装了django和python,因为该链接建议与Macports一起使用。 但是,我想使用virtualenv安装更多软件包。 我的理解是,如果我不将--no-site-packages
传递给virtualenv
,那么除了安装到虚拟环境中的所有软件包之外,我还应该获取当前安装的软件包。 这个对吗?
例如,我已经通过macports安装了django,然后创建了一个虚拟环境,但是我无法从该虚拟环境中导入django:
[streeter@mordecai]:~$ mkvirtualenv django-test
New python executable in django-test/bin/python
Installing setuptools............done.
...
(django-test)[streeter@mordecai]:~$ pip install django-debug-toolbar
Downloading/unpacking django-debug-toolbar
Downloading django-debug-toolbar-0.8.4.tar.gz (80Kb): 80Kb downloaded
Running setup.py egg_info for package django-debug-toolbar
Installing collected packages: django-debug-toolbar
Running setup.py install for django-debug-toolbar
Successfully installed django-debug-toolbar
Cleaning up...
(django-test)[streeter@mordecai]:~$ python
Python 2.6.1 (r261:67515, Jun 24 2010, 21:47:49)
[GCC 4.2.1 (Apple Inc. build 5646)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named django
>>>
因此,我可以将程序包安装到虚拟环境中,但不会选择全局站点程序包。 还是我做的事情不正确/缺少什么/误解了virtualenv
工作原理?
我有Mac OS 10.6(Snow Leopard),更新了我的macports软件包,并正在使用macports的python26(通过python_select python26
)。
编辑:
另外,我还检查了我的macports PATH是否正确设置。 这是一些输出:
[streeter@mordecai]:~$ python --version
Python 2.6.6
[streeter@mordecai]:~$ echo $PATH
/opt/local/bin:/opt/local/sbin:/Users/streeter/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/Users/streeter/.ec2/bin
[streeter@mordecai]:~$ source dev/python-environments/test/bin/activate
(test)[streeter@mordecai]:~$ python --version
Python 2.6.1
(test)[streeter@mordecai]:~$
virtualenv
和virtualenvwrapper
都是使用pip
安装的,而不是使用macports安装的,因为这似乎并未在/usr/local/bin/virtualenvwrapper.sh
上创建要获取源文件的文件,因此我不确定如何获取virtualenvwrapper的别名。
如显示的版本和日期所示,您没有使用MacPorts Python。 (尝试输入/usr/bin/python2.6
,然后输入/opt/local/bin/python2.6
。)如果不将MacPorts bin
目录首先放在外壳执行PATH
上,则仅设置MacPorts python_select
并没有好处:
$ export PATH=/opt/local/bin:$PATH
您可能需要重新创建virtualenv
以确保您使用的是MacPorts Python而不是Apple提供的Python。
编辑:随着更多的信息,我猜你的$ PATH没有设置正确之前, 最初的采购virtualwrapper.sh
描述这里 。 我建议您返回并按照那里的说明进行操作,确保已将virtualenv
和virtualenvwrapper
确实安装到MacPorts site-packages目录中,而不是系统Python的目录中。 注意,MacPorts for Python 2.6当前提供的virtualenvwrapper
版本是一个较旧的版本1.20; 它的shell脚本具有不同的名称 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.