2015-04-01 45 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