Ошибка python/pip в osx
Недавно я приобрел новый жесткий диск и установил чистую копию OS X Mavericks. Я установил python, используя homebrew, и мне нужно создать виртуальную среду python. Но когда я пытаюсь запустить любую команду с помощью pip, я получаю эту ошибку. Я не смог найти решение в Интернете по этой проблеме. Любые ссылки будут оценены. Вот ошибка, которую я получаю.
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 <module>
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 <module>
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 <module>
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 <module>
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 <module>
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 <module>
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 <module>
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 <module>
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 <module>
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 <module>
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 <module>
from urllib2 import (Request, urlopen, URLError, HTTPError,
ImportError: cannot import name HTTPSHandler
Если вам нужна дополнительная информация от меня, дайте мне знать, это мой первый вопрос, задающий вопрос здесь. Спасибо.
Ответы
Ответ 1
Хорошо, я узнал в Интернете, что эти ошибки связаны с openssl. Но у меня уже был установлен openssl. Немного больше исследований, и я попробовал следующее, и он решил проблему для меня. Здесь мое решение в случае, если вы получите ту же ошибку.
brew install openssl
brew link openssl --force
brew uninstall python
brew install python --with-brewed-openssl
Надеюсь, что это поможет.
Ответ 2
Решение brew install openssl
выше не работает с использованием Python 3. Тогда я понял, что я установил Python 3.4.2, но исключение "Нет HTTPSHandler" выглядело в /usr/local/Cellar/python3/3.4.1/...
.
После удаления всех старых путей Python 3 и повторной установки virtualenv он снова работает:
pip3 uninstall virtualenv
pip3 install virtualenv
Обратите внимание, что install --upgrade
не работает, необходимо сначала удалить.
Ответ 3
При попытке установить pygame была та же ошибка 10.10. Исправлено с помощью brew удалить python3, а затем установить python3.4.2 из python.org вместе с активным состоянием tcl.
Ошибка исчезла
тогда
pip3 установить virtualenv
Вы получите сообщение с brew doctor
Предупреждение: Python установлен в /Library/Frameworks/Python.framework
Homebrew поддерживает только создание на основе Python или
пивоваренный питон. В частности, Pythons, установленный в /Library, может вмешиваться
с другими установками программного обеспечения.
Что для меня не имеет значения, поскольку я предпочитаю придерживаться установки python.org, поэтому python одинаково на разных платформах, а не отличается от brew (раньше сталкивались с проблемами)
Ответ 4
Мне пришлось вручную добавить ссылку на библиотеку, чтобы она работала, потому что у меня была ошибка с 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