【问题标题】:python/pip error on osxosx上的python / pip错误
【发布时间】:2014-10-11 22:24:14
【问题描述】:

我最近购买了一个新硬盘并安装了 OS X Mavericks 的全新副本。我使用自制软件安装了 python,我需要创建一个 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

如果您需要我提供任何额外信息,请告诉我,这是我第一次在这里发布问题。谢谢。

【问题讨论】:

  • 你需要安装openssl

标签: python macos


【解决方案1】:

好的,我发现 online 这些错误与 openssl 有关。但我已经安装了 openssl。再做一些研究,我尝试了以下方法,它为我解决了这个问题。如果您遇到同样的错误,这是我的解决方案。

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

希望对您有所帮助。

【讨论】:

  • 对我来说brew reinstall python 已经足够了(我是从stackoverflow.com/questions/20688034/… 得到的)。
  • on el capitan brew link openssl --force 对我来说已经足够了(在确保首先安装了 openssl 之后)。
  • 在 OSX 10.11.3 上使用和更新 Homebrew Homebrew &gt;1.0.0 (no git repository) Homebrew/homebrew-core (git revision 2775; last commit 2016-09-22) 尝试强制链接 openssl Warning: Refusing to link: openssl Linking keg-only openssl means you may end up linking against the insecure, deprecated system OpenSSL while using the headers from Homebrew's openssl. Instead, pass the full include/library paths to your compiler e.g.: -I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib 时收到以下错误消息
  • 我设法通过手动链接来解决问题: 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/
  • 无效选项:--with-brewed-openssl
【解决方案2】:

上面的brew install openssl 解决方案不适用于使用 Python 3。然后我意识到我已经安装了 Python 3.4.2,但是在 /usr/local/Cellar/python3/3.4.1/... 中查找“No HTTPSHandler”异常。

删除所有旧的 Python 3 路径并重新安装 virtualenv 后,它再次工作:

pip3 uninstall virtualenv
pip3 install virtualenv

注意install --upgrade不起作用,需要先卸载。

【讨论】:

    【解决方案3】:

    我必须手动添加库链接才能使其正常工作,因为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
    

    【讨论】:

      【解决方案4】:

      在 10.10 上尝试安装 pygame 时出现同样的错误。通过 brew remove python3 修复它,然后从 python.org 安装 python3.4.2 以及活动状态 tcl。

      错误消失了 然后 pip3 安装虚拟环境

      您将收到 brew doctor 的消息 警告:Python 安装在 /Library/Frameworks/Python.framework

      Homebrew 仅支持针对系统提供的 Python 或 酿造 Python。特别是,安装到 /Library 的 Python 可能会干扰 与其他软件一起安装。

      这对我来说无关紧要,因为我更喜欢安装 python.org,所以 python 在不同平台上是相同的,而不是在 brew 上有所不同(之前遇到过问题)

      【讨论】:

        猜你喜欢
        • 2023-04-06
        • 2013-04-01
        • 2015-04-23
        • 2013-09-17
        • 1970-01-01
        • 2018-07-26
        • 2013-12-29
        • 2017-01-19
        • 2016-08-07
        相关资源
        最近更新 更多