python/pip error on osx

匿名 (未验证) 提交于 2019-12-03 01:55:01

问题:

I've recently purchased a new hard drive and installed a clean copy of OS X Mavericks. I installed python using homebrew and i need to create a python virtual environment. But when ever i try to run any command using pip, I get this error. I haven't been able to find a solution online for this problem. Any reference would be appreciated. Here is the error I'm getting.

ERROR:root:code for hash md5 was not found. Traceback (most recent call last):   File "/usr/local/Cellar/python/2.7.8/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 139, in      globals()[__func_name] = __get_hash(__func_name)   File "/usr/local/Cellar/python/2.7.8/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 91, in __get_builtin_constructor     raise ValueError('unsupported hash type ' + name) ValueError: unsupported hash type md5 ERROR:root:code for hash sha1 was not found. Traceback (most recent call last):   File "/usr/local/Cellar/python/2.7.8/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 139, in      globals()[__func_name] = __get_hash(__func_name)   File "/usr/local/Cellar/python/2.7.8/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 91, in __get_builtin_constructor     raise ValueError('unsupported hash type ' + name) ValueError: unsupported hash type sha1 ERROR:root:code for hash sha224 was not found. Traceback (most recent call last):   File "/usr/local/Cellar/python/2.7.8/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 139, in      globals()[__func_name] = __get_hash(__func_name)   File "/usr/local/Cellar/python/2.7.8/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 91, in __get_builtin_constructor     raise ValueError('unsupported hash type ' + name) ValueError: unsupported hash type sha224 ERROR:root:code for hash sha256 was not found. Traceback (most recent call last):   File "/usr/local/Cellar/python/2.7.8/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 139, in      globals()[__func_name] = __get_hash(__func_name)   File "/usr/local/Cellar/python/2.7.8/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 91, in __get_builtin_constructor     raise ValueError('unsupported hash type ' + name) ValueError: unsupported hash type sha256 ERROR:root:code for hash sha384 was not found. Traceback (most recent call last):   File "/usr/local/Cellar/python/2.7.8/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 139, in      globals()[__func_name] = __get_hash(__func_name)   File "/usr/local/Cellar/python/2.7.8/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 91, in __get_builtin_constructor     raise ValueError('unsupported hash type ' + name) ValueError: unsupported hash type sha384 ERROR:root:code for hash sha512 was not found. Traceback (most recent call last):   File "/usr/local/Cellar/python/2.7.8/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 139, in      globals()[__func_name] = __get_hash(__func_name)   File "/usr/local/Cellar/python/2.7.8/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 91, in __get_builtin_constructor     raise ValueError('unsupported hash type ' + name) ValueError: unsupported hash type sha512 Traceback (most recent call last):   File "/usr/local/bin/pip", line 9, in      load_entry_point('pip==1.5.6', 'console_scripts', 'pip')()   File "build/bdist.macosx-10.9-x86_64/egg/pkg_resources.py", line 356, in load_entry_point   File "build/bdist.macosx-10.9-x86_64/egg/pkg_resources.py", line 2439, in load_entry_point   File "build/bdist.macosx-10.9-x86_64/egg/pkg_resources.py", line 2155, in load   File "/usr/local/Cellar/python/2.7.8/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip-1.5.6-py2.7.egg/pip/__init__.py", line 10, in      from pip.util import get_installed_distributions, get_prog   File "/usr/local/Cellar/python/2.7.8/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip-1.5.6-py2.7.egg/pip/util.py", line 18, in      from pip._vendor.distlib import version   File "/usr/local/Cellar/python/2.7.8/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip-1.5.6-py2.7.egg/pip/_vendor/distlib/version.py", line 14, in      from .compat import string_types   File "/usr/local/Cellar/python/2.7.8/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip-1.5.6-py2.7.egg/pip/_vendor/distlib/compat.py", line 31, in      from urllib2 import (Request, urlopen, URLError, HTTPError, ImportError: cannot import name HTTPSHandler 

If you need any extra information from me let me know, this is my first time posting a question here. Thanks.

回答1:

Ok I found out online that these errors are related to openssl. But i already had openssl installed. A little more research and I tried the following and it solved the issue for me. Here's my solution in case you get the same error.

brew install openssl brew link openssl --force brew uninstall python brew install python --with-brewed-openssl 

Hope that helps.



回答2:

The brew install openssl solution above did not work for with using Python 3. Then I realized that I had installed Python 3.4.2 but the "No HTTPSHandler" exception was looking in /usr/local/Cellar/python3/3.4.1/....

After deleting all older Python 3 paths and reinstalling virtualenv it works again:

pip3 uninstall virtualenv pip3 install virtualenv 

Note that install --upgrade didn't work, needs to be uninstalled first.



回答3:

Had the same error on 10.10 when trying to install pygame. Fixed it by brew remove python3 then installed python3.4.2 from python.org along with active state tcl.

Error gone then pip3 install virtualenv

You will get a message with brew doctor Warning: Python is installed at /Library/Frameworks/Python.framework

Homebrew only supports building against the System-provided Python or a brewed Python. In particular, Pythons installed to /Library can interfere with other software installs.

Which for me doesn't matter as I prefer to stick with python.org installs so python is the same across platforms rather than differing in brew (have run into problems before)



回答4:

I had to manually add library linking to make it works because I had error with brew link openssl --force

brew update     brew install openssl     ln -s /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib /usr/local/lib/     ln -s /usr/local/opt/openssl/lib/libssl.1.0.0.dylib /usr/local/lib/ brew uninstall python brew install python --with-brewed-openssl 


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!