mac安装Crypto报错,安装完之后又提示没有找到’Crypto.Cipher’
- 未安装
pycryptodome
或pycrypto
库。 - 安装了
pycrypto
库,但可能存在与pycryptodome
版本的冲突。 - 导入模块的名字大小写不正确(应该区分大小写)。
- Python环境路径问题,可能你安装的库没有安装到当前使用的Python环境中。
解决方案:
-
确保安装了
pycryptodome
:打开你的终端,然后运行以下命令来安装
pycryptodome
:pip install pycryptodome
或者,如果你使用的是特定于项目的虚拟环境,确保在激活虚拟环境的情况下进行安装。
-
如果你之前安装了
pycrypto
,可能需要将其卸载,因为pycryptodome
是pycrypto
的宽松替代,并试图兼容于很多地方,但可能会有安全上的更新和改善。运行以下命令卸载pycrypto
:pip uninstall pycrypto
-
确保你的代码中正确导入了相应的模块,使用正确的大小写:
from Crypto.Cipher import AES
-
如果以上步骤都确保无误,检查是否是多个Python版本/环境的问题,确保你的pip对应的是你当前使用的Python版本。运行以下命令查看
pip
和python
的版本信息:pip --version python --version
pip和当前使用python版本不一致
-
使用Python模块运行pip:
你可以使用Python的-m
选项来运行pip
模块,这样可以确保你使用的是与该Python解释器相对应的pip
版本。python -m pip install pycryptodome
或者,如果你想要卸载:
python -m pip uninstall pycryptodome
如果你有多个Python版本,比如Python 2和Python 3,你可以指定版本:
python3 -m pip install pycryptodome
或者:
python3 -m pip uninstall pycryptodome
-
更新系统的pip:
如果你的系统的pip
版本过旧,你可能需要更新它。使用下面的命令来更新pip
:python -m pip install --upgrade pip
这将更新为当前使用的Python版本的最新
pip
。 -
使用虚拟环境:
使用虚拟环境可以避免很多与系统Python版本相关的问题。创建一个新的虚拟环境,并在该环境中安装所需的包:python -m venv myenv source myenv/bin/activate # 在Unix或macOS上 myenv\\Scripts\\activate # 在Windows上 pip install pycryptodome
在虚拟环境中,
pip
将默认为该环境的Python版本。
确保在运行上述命令时,将python
替换为指向你想要使用的Python版本的正确命令,例如python3
、python3.8
、python3.9
等。