【问题标题】:aws cli: ERROR:root:code for hash md5 was not foundaws cli:错误:root:找不到哈希 md5 的代码
【发布时间】:2020-05-30 11:14:15
【问题描述】:

在尝试运行 AWS CLI 时,我收到此错误:

aws
ERROR:root:code for hash md5 was not found.
Traceback (most recent call last):
  File "/usr/local/Cellar/python@2/2.7.15_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 147, in <module>
    globals()[__func_name] = __get_hash(__func_name)
  File "/usr/local/Cellar/python@2/2.7.15_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 97, 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/2.7.15_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 147, in <module>
    globals()[__func_name] = __get_hash(__func_name)
  File "/usr/local/Cellar/python@2/2.7.15_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 97, 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/2.7.15_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 147, in <module>
    globals()[__func_name] = __get_hash(__func_name)
  File "/usr/local/Cellar/python@2/2.7.15_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 97, 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/2.7.15_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 147, in <module>
    globals()[__func_name] = __get_hash(__func_name)
  File "/usr/local/Cellar/python@2/2.7.15_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 97, 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/2.7.15_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 147, in <module>
    globals()[__func_name] = __get_hash(__func_name)
  File "/usr/local/Cellar/python@2/2.7.15_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 97, 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/2.7.15_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 147, in <module>
    globals()[__func_name] = __get_hash(__func_name)
  File "/usr/local/Cellar/python@2/2.7.15_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 97, in __get_builtin_constructor
    raise ValueError('unsupported hash type ' + name)
ValueError: unsupported hash type sha512
Traceback (most recent call last):
  File "/usr/local/bin/aws", line 19, in <module>
    import awscli.clidriver
  File "/usr/local/lib/python2.7/site-packages/awscli/clidriver.py", line 17, in <module>
    import botocore.session
  File "/usr/local/lib/python2.7/site-packages/botocore/session.py", line 29, in <module>
    import botocore.configloader
  File "/usr/local/lib/python2.7/site-packages/botocore/configloader.py", line 19, in <module>
    from botocore.compat import six
  File "/usr/local/lib/python2.7/site-packages/botocore/compat.py", line 25, in <module>
    from botocore.exceptions import MD5UnavailableError
  File "/usr/local/lib/python2.7/site-packages/botocore/exceptions.py", line 15, in <module>
    from botocore.vendored import requests
  File "/usr/local/lib/python2.7/site-packages/botocore/vendored/requests/__init__.py", line 58, in <module>
    from . import utils
  File "/usr/local/lib/python2.7/site-packages/botocore/vendored/requests/utils.py", line 26, in <module>
    from .compat import parse_http_list as _parse_list_header
  File "/usr/local/lib/python2.7/site-packages/botocore/vendored/requests/compat.py", line 7, in <module>
    from .packages import chardet
  File "/usr/local/lib/python2.7/site-packages/botocore/vendored/requests/packages/__init__.py", line 3, in <module>
    from . import urllib3
  File "/usr/local/lib/python2.7/site-packages/botocore/vendored/requests/packages/urllib3/__init__.py", line 10, in <module>
    from .connectionpool import (
  File "/usr/local/lib/python2.7/site-packages/botocore/vendored/requests/packages/urllib3/connectionpool.py", line 31, in <module>
    from .connection import (
  File "/usr/local/lib/python2.7/site-packages/botocore/vendored/requests/packages/urllib3/connection.py", line 45, in <module>
    from .util.ssl_ import (
  File "/usr/local/lib/python2.7/site-packages/botocore/vendored/requests/packages/urllib3/util/__init__.py", line 5, in <module>
    from .ssl_ import (
  File "/usr/local/lib/python2.7/site-packages/botocore/vendored/requests/packages/urllib3/util/ssl_.py", line 2, in <module>
    from hashlib import md5, sha1, sha256
ImportError: cannot import name md5

我尝试了this issue 的解决方案,但它们不起作用:

brew reinstall python@2
==> Reinstalling python@2
Error: An exception occurred within a child process:
  FormulaUnavailableError: No available formula with the name "/usr/local/opt/python@2/.brew/python@2.rb"

我以为它可能没有安装,但它已经安装了:

brew install python@2
Warning: python@2 2.7.15_1 is already installed and up-to-date
To reinstall 2.7.15_1, run `brew reinstall python@2`

运行brew doctor 表明python 不受欢迎,但运行brew link python 失败,因为符号链接属于python@2

brew link python
Linking /usr/local/Cellar/python/3.7.6_1...
Error: Could not symlink Frameworks/Python.framework/Headers
Target /usr/local/Frameworks/Python.framework/Headers
is a symlink belonging to python@2. You can unlink it:
  brew unlink python@2

To force the link and overwrite all conflicting files:
  brew link --overwrite python

To list all files that would be deleted:
  brew link --overwrite --dry-run python

推荐的命令似乎是循环的,没有一个能够解决问题。我有点卡住了 - 如何从这些错误中恢复?

【问题讨论】:

  • 我建议您从系统中清除该版本,并下载由捆绑包提供的新 AWS CLI v2,以防止与 Python 发生此类依赖
  • @eez0 我可以试试,但我在同一个问题上运行:pip uninstall awscliERROR:root:code for hash md5 was not found.
  • 试试brew reinstall awscli

标签: python macos python-2.7 homebrew


【解决方案1】:

在尝试使用 pip 时遇到了与 brew install python2 错误类似的问题。

可能是因为

python@2 在提交 028f11f9e 中从 homebrew/core 中删除:
python@2: 删除 (https://github.com/Homebrew/homebrew-core/issues/49796)
2020 年 1 月 1 日停产。

在此处查看此帖子 https://github.com/Homebrew/homebrew-core/pull/49796 了解更多详情。

要解决这个问题,

  1. 运行brew uninstall python@2 卸载已安装的 brew python@2 这应该会使默认的 python2 回退到 macOS 附带的 python2。
  2. 通过运行卸载当前的 aws cli

    • sudo rm -rf /usr/local/bin/aws
    • sudo rm -rf /usr/local/aws
    • rm AWSCLIV2.pkg
  3. 通过运行再次安装 aws cli

    • sudo curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
    • sudo installer -pkg AWSCLIV2.pkg -target /
  4. 如果您运行 aws --version,您应该会看到它链接到 python3 而不是 python2

希望对您有所帮助。

【讨论】:

  • Mojave 10.14 - 在 brew uninstall python@2 之后 - aws cli 它可以毫无问题地链接到 python3。
  • 我收到了curl 错误,3.,按照他们在docs.aws.amazon.com/cli/latest/userguide/install-cliv2-mac.html 的说明安装 AWS CLI 会更容易
  • 这给我带来了很多问题......啊应该知道这就是 2020 年的样子
【解决方案2】:

运行brew install imagemagick 后我遇到了同样的问题。

autojumpawscli 都给了我上述错误。

问题是由 homebrew 安装的 openssl 与 macOS SSL 库之间的冲突引起的?见herehere

运行下面的命令已修复为我

brew reinstall python@2
brew reinstall awscli

【讨论】:

    【解决方案3】:

    在 brew 安装 gimme-aws-creds(它安装了 python@3.8)后,我在运行 awscli 时遇到了同样的错误。所以就我而言,我现在同时拥有 python@2 和 python3.8,并且 awscli 仍然链接到 python@2,而不是新的 phyhon@3.8。

    重新安装awscli时,错误信息明确指出文件冲突,

    $ brew reinstall awscli ... ==> 重新安装 awscli
    错误:brew link 步骤未成功完成公式已构建,但未符号链接到 /usr/local 无法符号链接 bin/aws 目标 /usr/local/bin/aws 已存在。 >您可能想要删除它:rm '/usr/local/bin/aws'

    只需删除冲突文件,/usr/local/bin/aws 即可解决问题。

    【讨论】:

    • 也可以,$ brew uninstall python@2,如果不再使用的话。
    猜你喜欢
    • 2017-06-07
    • 2020-03-22
    • 1970-01-01
    • 2020-05-19
    • 2020-04-03
    • 1970-01-01
    • 2020-06-17
    相关资源
    最近更新 更多