Linux Fedora virtualenv站点包装错误的位置

时间:2012-05-03 16:36:49

标签: python linux virtualenv fedora

我刚尝试在新的虚拟环境中设置安装应用程序。

要创建我使用的虚拟环境:

virtualenv -p /usr/bin/python2.6/python2.6 rollEnv2 --no-site-packages

然后安装应用程序,我使用了:

python setup.py install

但最后我收到错误:

File "/home/aaron/workspace/rollEnv2/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg/setuptools/package_index.py", line 475, in fetch_distribution
AttributeError: 'NoneType' object has no attribute 'clone'

好吧让我们试着为应用程序提供服务:

paster serve development.ini

错误:

File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 588, in resolve
raise VersionConflict(dist,req) # XXX put more info here
pkg_resources.VersionConflict: (WebOb 1.0.8 (/usr/lib/python2.7/site-packages), Requirement.parse('WebOb==0.9.6.1'))
(rollEnv2)

似乎是一个明显的错误,让我们:

easy_install WebOb==0.9.6.1

可是:

WebOb 0.9.6.1 is already the active version in easy-install.pth

那么这可能是什么问题?就像轻松安装在基础Python目录而不是virtualenv目录中一样。但理想情况下,修复原始AttributeError: 'NoneType' object has no attribute 'clone'会很好。

我已经用Google搜索了,但我似乎无法找到一个合适的答案。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

首先我建议你试试mkvirtualenv,你为什么还在使用easy_install而没有切换到pip?

默认情况下,virtualenv使用Distribute而不是setuptools。我认为您正在使用setuptools,因此只需使用setuptools重新创建您的环境。

来自virtualenv:

--distribute          Ignored.  Distribute is used by default. See
                      --setuptools to use Setuptools instead of Distribute.