安装hashLib时出现SyntaxError: 在调用print时缺少括号

8

我需要一个简单的密码哈希函数,认为可以使用 hashlib。 PyCharm 建议通过运行pip install hashLib来安装它。

但是现在 PyCharm 抱怨库中有语法错误:

Collecting hashLib
Using cached https://files.pythonhosted.org/packages/74/bb/9003d081345e9f0451884146e9ea2cff6e4cc4deac9ffd4a9ee98b318a49/hashlib-20081119.zip
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/private/var/folders/6_/8g1vyy5n1t1859x2d30ssk480000gn/T/pycharm-packaging/hashLib/setup.py", line 68
    print "unknown OS, please update setup.py"
          ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("unknown OS, please update setup.py")?

----------------------------------------

Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/6_/8g1vyy5n1t1859x2d30ssk480000gn/T/pycharm-packaging/hashLib/

这表明可能是与我正在使用的Python版本有关的问题(我尝试过Python 2.7和Python 3.8,但它们都不起作用)。

确保您使用的Python版本受此软件包支持。目前您正在使用Python 3.8。


你是如何尝试安装它的? - Guy
通过在项目解释器中添加并安装哈希库包。 - meme
1
你对标准库中的hashlib不满意吗? - Klaus D.
1
这是 hashlib 库的独立打包版本,适用于 Python 2.5 以前的旧版本(已在 2.3 和 2.4 上测试过)。 - Klaus D.
是的...我知道,但这是PyCharm建议我安装hashlib的解决方案。 - meme
1个回答

19

hashlib现在已经是Python的标准库了。这意味着您无需安装它,它已经随着Python一起安装好了。

您尝试从PyPI安装的那个版本仅适用于非常旧的Python版本(<= 2.4)。


但是当我尝试导入它时,出现了错误并建议我:“pip install hashLib”。所以我在终端中执行了这个命令,但仍然不起作用。它抱怨括号拼写错误。 - meme
我认为这只是PyCharm的愚蠢行为。将导入更改为hashlib而不是hashLib - wim
好的,现在我又遇到了另一种类型的错误:“TypeError: 'frozenset' object is not callable”。 - meme
看起来哈希库的问题解决了,不是吗?至于不可变集合的问题,那将是一个**不同的问题**,请考虑单独发布它。 - wim
不,不……实际上我还是遇到了同样的错误。当我尝试从终端下载 hashlib 时,我遇到了 frozenset 问题。但现在我一直收到拼写错误的提示。 - meme

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接