【问题标题】:error installing while "hmac" package in python 3.7在 python 3.7 中安装“hmac”包时出错
【发布时间】:2019-11-11 10:38:55
【问题描述】:

当我使用安装 HMAC 包时 点安装hmac 基础环境中的命令

我尝试更新 pip,设置工具。但所有都更新到最新版本。但没用。

pip 安装 hmac

错误:

C:\WINDOWS\system32>pip install hmac
Collecting hmac
  Using cached https://files.pythonhosted.org/packages/b2/02/14b2ade413d3f34caffadfa6ed59f3769fe108a78e34931a2cdd1762cb32/hmac-20101005.tar.gz
Requirement already satisfied: setuptools in c:\programdata\anaconda3\lib\site-packages (from hmac) (41.4.0)
Collecting hashlib
  Using cached https://files.pythonhosted.org/packages/74/bb/9003d081345e9f0451884146e9ea2cff6e4cc4deac9ffd4a9ee98b318a49/hashlib-20081119.zip
    ERROR: Command errored out with exit status 1:
     command: 'c:\programdata\anaconda3\python.exe' -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\Admin\\AppData\\Local\\Temp\\pip-install-7dt9idd0\\hashlib\\setup.py'"'"'; __file__='"'"'C:\\Users\\Admin\\AppData\\Local\\Temp\\pip-install-7dt9idd0\\hashlib\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Users\Admin\AppData\Local\Temp\pip-install-7dt9idd0\hashlib\pip-egg-info'
         cwd: C:\Users\Admin\AppData\Local\Temp\pip-install-7dt9idd0\hashlib\
    Complete output (22 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "c:\programdata\anaconda3\lib\site-packages\setuptools\__init__.py", line 18, in <module>
        import setuptools.version
      File "c:\programdata\anaconda3\lib\site-packages\setuptools\version.py", line 1, in <module>
        import pkg_resources
      File "c:\programdata\anaconda3\lib\site-packages\pkg_resources\__init__.py", line 36, in <module>
        import email.parser
      File "c:\programdata\anaconda3\lib\email\parser.py", line 12, in <module>
        from email.feedparser import FeedParser, BytesFeedParser
      File "c:\programdata\anaconda3\lib\email\feedparser.py", line 27, in <module>
        from email._policybase import compat32
      File "c:\programdata\anaconda3\lib\email\_policybase.py", line 9, in <module>
        from email.utils import _has_surrogates
      File "c:\programdata\anaconda3\lib\email\utils.py", line 28, in <module>
        import random
      File "c:\programdata\anaconda3\lib\random.py", line 46, in <module>
        from hashlib import sha512 as _sha512
      File "C:\Users\Admin\AppData\Local\Temp\pip-install-7dt9idd0\hashlib\hashlib.py", line 80
        raise ValueError, "unsupported hash type"
                        ^
    SyntaxError: invalid syntax
    ----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output

【问题讨论】:

  • 奇怪:您的 Python 3.7 安装似乎使用了旧 Python 版本 (2.x) 的标准库:raise &lt;Exception&gt;, &lt;String&gt;no longer allowed in Python 3

标签: python-3.x pip hmac


【解决方案1】:

语法错误是因为报告的行raise ValueError, "unsupported hash type" 使用了python 3.x 不支持的语法,这引起了您尝试安装的模块不是为python 3.x 而是为2 编写的怀疑.x

您尝试安装的模块是this one

pypi 项目中唯一的文件是 06.10.2010,所以差不多 9 年了,检查项目描述,我们得到:

HMAC

这是 hashlib 兼容的 hmac 库的独立打包 包含在 Python 2.5 中,因此可以与 hashlib 一起使用 旧版本 Python 的反向移植(在 2.4 上测试)。 Python 不需要 2.5 或更高版本。

确实,hmac 在编写时只考虑了 python 2x,此后没有更新。您可能想要寻找不同的库,或者只使用 python standard library 中的 hmac,而无需额外安装。

【讨论】:

    猜你喜欢
    • 2018-12-09
    • 2020-02-27
    • 2018-08-17
    • 2023-02-26
    • 2019-05-29
    • 2013-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多