我刚刚尝试在我的新虚拟环境中设置安装应用程序。
为了创建我的虚拟环境,我使用了:
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'
会很好。
我用谷歌搜索过,但我似乎找不到一个像样的答案。
有什么想法吗?
我建议您也尝试一下 mkvirtualenv,为什么您仍在使用 easy_install 并且没有切换到 pip ?
默认情况下,virtualenv 使用分发而不是安装工具。我认为您正在使用安装工具,因此只需使用设置工具重新创建您的环境即可。
从虚拟环境:
--distribute Ignored. Distribute is used by default. See
--setuptools to use Setuptools instead of Distribute.