我已经安装了django和python,正如此链接在macport中建议的那样。但是,我想使用虚拟环境来安装更多的软件包。我的理解是,如果我不将--no-site-packages传递给virtualenv,那么除了安装到虚拟环境中的任何软件包之外,我还应该获得当前安装的包。这是正确的吗?
例如,我已经通过macport安装了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是如何工作的?
我有MacOS10.6(雪豹),更新了我的macports包,并且正在使用macport的python26 (通过python_select python26)。
编辑:
此外,我还检查了我的macports路径是否已正确设置。以下是一些输出:
[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安装的,而不是使用macport,因为这似乎并没有创建一个要在/usr/local/bin/virtualenvwrapper.sh上源代码的文件,所以我不知道如何获得虚拟包装器的别名。
发布于 2011-01-12 06:59:49
如所显示的版本和日期所示,您没有使用MacPorts Python。(尝试输入/usr/bin/python2.6,然后键入/opt/local/bin/python2.6。)如果不将MacPorts bin目录放在shell执行PATH的第一位,那么仅仅设置MacPorts bin就没有好处了。
$ export PATH=/opt/local/bin:$PATH您可能需要重新创建virtualenv,以确保您使用的是MacPorts Python而不是苹果提供的MacPorts。
编辑:有了额外的信息,我猜您的$PATH在最初采购virtualwrapper.sh之前并没有像描述的这里那样被正确地设置。我建议您回过头来,按照这里的说明,确保您已经将virtualenv和virtualenvwrapper真正安装到了MacPorts站点--包目录,而不是系统Python的目录中。注意,目前通过MacPorts forPython2.6提供的virtualenvwrapper版本是一个较旧的版本,1.20;它的shell脚本有不同的名字。
https://stackoverflow.com/questions/4666058
复制相似问题