繁体   English   中英

Macports和virtualenv网站程序包回退

[英]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]:~$ 

virtualenvvirtualenvwrapper都是使用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描述这里 我建议您返回并按照那里的说明进行操作,确保已将virtualenvvirtualenvwrapper确实安装到MacPorts site-packages目录中,而不是系统Python的目录中。 注意,MacPorts for Python 2.6当前提供的virtualenvwrapper版本是一个较旧的版本1.20; 它的shell脚本具有不同的名称

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM