2015-04-01 85 views
3

我最近使用自制软件将python从2.7.6升级到了2.7.9。然后我试图“revirtualise”的现有虚拟环境在virtualenv中运行pip时出现AttributeError

sudo virtualenv -p python2.7 existingvenv 

,但我得到这个错误:

Traceback (most recent call last): 
    File "venv.../bin/pip", line 7, in <module> 
    from pip import main 
    File "venv.../lib/python2.7/site-packages/pip/__init__.py", line 9, in <module> 
    from pip.log import logger 
    File "venv.../lib/python2.7/site-packages/pip/log.py", line 8, in <module> 
    from pip import backwardcompat 
    File "venv.../lib/python2.7/site-packages/pip/backwardcompat/__init__.py", line 66, in <module> 
    from urllib2 import URLError, HTTPError 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 93, in <module> 
    import hashlib 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 138, in <module> 
    _hashlib.openssl_md_meth_names) 
AttributeError: 'module' object has no attribute 'openssl_md_meth_names' 
---------------------------------------- 
...Installing setuptools, pip...done. 
Traceback (most recent call last): 
    File "/usr/local/lib/python2.7/site-packages/virtualenv.py", line 2352, in <module> 
    main() 
    File "/usr/local/lib/python2.7/site-packages/virtualenv.py", line 825, in main 
    symlink=options.symlink) 
    File "/usr/local/lib/python2.7/site-packages/virtualenv.py", line 993, in create_environment 
    install_wheel(to_install, py_executable, search_dirs) 
    File "/usr/local/lib/python2.7/site-packages/virtualenv.py", line 961, in install_wheel 
    'PIP_NO_INDEX': '1' 
    File "/usr/local/lib/python2.7/site-packages/virtualenv.py", line 903, in call_subprocess 
    % (cmd_desc, proc.returncode)) 
OSError: Command /Users/robertelliott...hflow-app/bin/python -c "import sys, pip; sys...d\"] + sys.argv[1:]))" setuptools pip failed with error code 1 

运行上面的活动虚拟环境内部的任何pip install x时,我也得到了上面的错误。

$ virtualenv -p python2.7 newvenv 
Running virtualenv with interpreter /Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7 
New python executable in newenv/bin/python 
Installing setuptools, pip...done. 

有一个古老的符号链接或现有的virtualenv造成的问题,我怎么能解决这个里面的东西:

创建新的virtualenv时,我没有得到这个错误吗?

+0

为什么你不使用一个新的virtualenv?从现有的requirements.txt安装软件包 – Peter 2015-04-01 08:00:50

回答

0

这是因为Python中的一个新功能,0.24轮不兼容。您将在Python 2.7系统安装下找到一个名为virtualenv_support的文件夹,其中包含setuptools,pip和wheel的基本安装文件。有几个解决方案。最简单的方法是从virtualenv_support文件夹中删除wheel-0.24 *。如果您想更进一步,您可以下载wheel.whl文件的0.26版本并将其替换。

0

你尝试:

sudo virtualenv --clear -p python2.7 existingvenv