这部分是一个问题,一部分是我自己在遇到这个错误时发现的问题:
(cdbak)USER-MBP-2:.virtualenvs <YOUR_USER_NAME>$ pip
Traceback (most recent call last):
File "/Users/<YOUR_USER_NAME>/.virtualenvs/cdbak/bin/pip", line 6, in <module>
from pkg_resources import load_entry_point
ImportError: No module named pkg_resources
当我试图通过pip在虚拟环境中安装pypsum以与django一起使用时,出现了这个问题。在
^{pr2}$我一直在虚拟环境中工作,所以我很幸运在它崩溃后,我可以用我编写的脚本重置我的虚拟环境。在
我复制了安装过程中的输出,并开始仔细查看,似乎setuptools中出了问题。在
安装过程尝试生成包,但在setuptools中找不到build_py,这会导致它通过重命名当前安装的setuptools来“修补”setuptools安装。在
这是我认为有趣的事情开始发生的地方:
Setuptools installation detected at /Users/<YOUR_USER_NAME>/.virtualenvs/cdbak/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg
Egg installation
Patching...
Renaming /Users/<YOUR_USER_NAME>/.virtualenvs/cdbak/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg into /Users/<YOUR_USER_NAME>/.virtualenvs/cdbak/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg.OLD.1321360113.04
然后它继续尝试安装另一个版本的setuptools,看起来是:
After install bootstrap.
Creating /Users/<YOUR_USER_NAME>/.virtualenvs/cdbak/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg-info
Creating /Users/<YOUR_USER_NAME>/.virtualenvs/cdbak/lib/python2.7/site-packages/setuptools.pth
但它似乎没有在当前位置正确安装setuptools包,然后导致缺少pkg_资源模块(事实上,它还缺少很多其他东西)
[设置]
OS: Mac OS X Lion
Python 2.7.1 (r271:86832, Jun 16 2011, 16:59:05)
virtualenv v1.6.1
全新虚拟环境使用virtualenvwrapper使用需求文件安装以下软件包:
mercurial==1.9.3
Django>=1.3.1
MySQL-python>=1.2.3
Sphinx
wsgiref
pylint
yolk
dbgp
django-debug-toolbar
south
我可以使用pip安装其他软件包,但由于某些原因,它似乎与这个安装中断了。在
[问题]
-人们是否认为这是安装过程中的错误?
-或者,这是setuptools的错误吗?
-或者,我只是安装不正确?
[额外说明]
我可以用整个输出附加文件,但它是一个很长的文件,我决定只提取我觉得相关的片段。如果你想看完整的文件,我也可以上传。在
我不确定您的所有问题,但至少有一个问题是由
loremipsum
包引起的,它是pypsum
包的依赖项。出于某种原因,在loremipsum
的setup.py
文件中,作者包含了distribute
包的具体要求:您可能知道,}之间的混淆导致了
distribute
是setuptools
包的一个分支;这背后有着悠久的历史。由于distribute
应该是setuptools
的一个几乎与插件兼容的替代品,它将尝试伪装成setuptools
,并禁用该Python实例中已经安装的任何现有的setuptools
。因此,将distribute
作为一个需求放在setup.py
文件中通常不是一个好主意。默认情况下,virtualenv
将安装setuptools
的版本,但它有一个选项可以改为使用distribute
。苹果在OSX10.6和10.7中提供的系统python已经预装了setuptools
的版本,而且由于它们位于非标准的系统目录中,因此无法轻松地进行修补。在osx上使用virtualenv
时,一个简单的解决方法似乎是使用它的no-site-packages
选项,这将防止系统Python的setuptools
版本干扰virtualenv
中所需的distribute
。毫无疑问,distribute
和{pkg_resources
所见的问题,因为它们也是由它们提供的。在因此,请尝试通过以下方式重新创建您的
^{pr2}$virtualenv
:这也会产生副作用,即不包括苹果随系统Python提供的第三方软件包。如果您确实需要它们,您可以使用
PYTHONPATH
将它们添加回来,但最好安装单独的版本。在相关问题 更多 >
编程相关推荐