ModuleNotFoundError:Python 中没有名为“Crypto”的模块
ModuleNotFoundError: No module named ‘Crypto’ in Python
Python “ModuleNotFoundError: No module named ‘Crypto’” 发生在我们忘记pycryptodome
在导入前安装模块或将其安装在不正确的环境中时。
要解决此错误,请通过运行命令安装模块
pip install pycryptodome
。
在项目的根目录中打开终端并安装
pycryptodome
模块。
# 👇️ in a virtual environment or using Python 2 pip install pycryptodome # 👇️ for python 3 (could also be pip3.10 depending on your version) pip3 install pycryptodome # 👇️ if you get permissions error sudo pip3 install pycryptodome pip install pycryptodome --user # 👇️ if you don't have pip in your PATH environment variable python -m pip install pycryptodome # 👇️ for python 3 (could also be pip3.10 depending on your version) python3 -m pip install pycryptodome # 👇️ using py alias (Windows) py -m pip install pycryptodome # 👇️ for Anaconda conda install -c conda-forge pycryptodome # 👇️ for Jupyter Notebook !pip install pycryptodome
安装pycryptodome
包后,尝试按如下方式导入它。
from Crypto.Cipher import AES from Crypto.Random import get_random_bytes data = b'secret data' key = get_random_bytes(16) cipher = AES.new(key, AES.MODE_EAX) ciphertext, tag = cipher.encrypt_and_digest(data) file_out = open("encrypted.bin", "wb") [file_out.write(x) for x in (cipher.nonce, tag, ciphertext)] file_out.close()
常见错误原因
出现错误的原因有多种:
- 没有
pycryptodome
通过运行安装包
pip install pycryptodome
。 - 在与您正在使用的版本不同的 Python 版本中安装包。
- 全局安装包,而不是在您的虚拟环境中。
- 您的 IDE 运行的 Python 版本不正确。
- 命名您的模块
crypto.py
,这将影响官方模块。 - 声明一个名为
Crypto
which 的变量将隐藏导入的变量。
如果错误仍然存在,请获取您的 Python 版本并确保您使用正确的 Python 版本安装包。
python --version
例如,我的 Python 版本是3.10.4
,所以我会安装 pycryptodome 包pip3.10 install pycryptodome
。
pip3.10 install pycryptodome # 👇️ if you get permissions error use pip3 (NOT pip3.X) sudo pip3 install pycryptodome
请注意,版本号对应于我正在使用的版本pip
。
pip
如果您的计算机上未设置PATH ,请替换pip
为
python3 -m pip
:
# 👇️ make sure to use your version of Python, e.g. 3.10 python3 -m pip install pycryptodome
如果“No module named ‘Crypto’”错误仍然存在,请尝试重新启动您的 IDE 和开发服务器/脚本。
检查包是否安装
您可以
通过运行命令检查是否pycryptodome
安装了软件包pip show pycryptodome
。
# 👇️ check if you have pycryptodome installed pip show pycryptodome # 👇️ if you don't have pip set up in PATH python -m pip show pycryptodome
该pip show pycryptodome
命令将声明该包未安装或显示有关该包的一堆信息,包括该包的安装位置。
确保您的 IDE 使用正确的 Python 版本
如果未安装该包,请确保您的 IDE
使用的是正确版本的 Python。
pycryptodome
包,或者您的 IDE 可能被设置为使用不同的版本。例如,在 VSCode 中,您可以按CTRL + Shift + P
或(在 Mac 上为⌘
+ Shift
+ P
)打开命令面板。
然后在字段中键入“Python 选择解释器”。
然后从下拉菜单中选择正确的 python 版本。
在虚拟环境中安装包
如果您使用的是虚拟环境,请确保您是
pycryptodome
在虚拟环境中而不是全局安装。
如果您还没有虚拟环境,可以尝试创建一个。
# 👇️ use correct version of Python when creating VENV python3 -m venv venv # 👇️ activate on Unix or MacOS source venv/bin/activate # 👇️ activate on Windows (cmd.exe) venv\Scripts\activate.bat # 👇️ activate on Windows (PowerShell) venv\Scripts\Activate.ps1 # 👇️ install pycryptodome in virtual environment pip install pycryptodome
如果该python3 -m venv venv
命令不起作用,请尝试以下 2 个命令:
python -m venv venv
py -m venv venv
您的虚拟环境将使用用于创建它的 Python 版本。
crypto.py
pycryptodome
您也不应该声明一个名为Crypto
as 的变量,这也会影响原始模块。
尝试重新安装包
如果错误未解决,请尝试卸载pycryptodome
软件包,然后再安装。
# 👇️ check if you have pycryptodome installed pip show pycryptodome # 👇️ if you don't have pip set up in PATH python -m pip show pycryptodome # 👇️ uninstall pycryptodome pip uninstall pycryptodome # 👇️ if you don't have pip set up in PATH python -m pip uninstall pycryptodome # 👇️ install pycryptodome pip install pycryptodome # 👇️ if you don't have pip set up in PATH python -m pip install pycryptodome
尝试重新启动您的 IDE 和开发服务器/脚本。
您也可以尝试升级 pycryptodome 包的版本。
pip install pycryptodome --upgrade # 👇️ if you don't have pip set up in PATH python -m pip install pycryptodome --upgrade
pycryptodome
.目录
- 在 Windows 上安装 PyCryptodome (Crypto)
- 在 macOS 或 Linux 上安装 PyCryptodome (Crypto)
- 在 Visual Studio Code 中安装 PyCryptodome (Crypto)
- 在 PyCharm 中安装 PyCryptodome(加密)
- 在 Anaconda 中安装 PyCryptodome (Crypto)
- 在 Jupyter Notebook 中安装 PyCryptodome (Crypto)
在 Windows 上安装 PyCryptodome (Crypto)
pycryptodome
在 Windows 上安装模块:
- 在搜索栏中键入 CMD,然后打开命令提示符应用程序。
- 键入
pip install pycryptodome
并按 Enter。
pip install pycryptodome # 👇️ for Python 3 pip3 install pycryptodome # 👇️ if you don't have pip in your PATH environment variable python -m pip install pycryptodome # 👇️ for Python 3 python3 -m pip install pycryptodome # 👇️ using py alias py -m pip install pycryptodome # 👇️ if you get permissions error pip install pycryptodome --user # 👇️ for Anaconda conda install -c conda-forge pycryptodome
如果命令不成功,请尝试以管理员身份运行 CMD。
如果你收到错误
‘pip’ is not recognized as an internal or external command,python -m
安装时使用命令pycryptodome
。
python -m pip install pycryptodome python3 -m pip install pycryptodome py -m pip install pycryptodome
pycryptodome
或者,您可以在虚拟环境中安装该模块:
- 打开项目的根目录。
- 在资源管理器中按下
Shift
并右键单击。
- 单击“在此处打开 PowerShell 窗口”。
- 运行以下命令。
# 👇️ might also be: "python3 -m venv venv" python -m venv venv # 👇️ activate on Windows (PowerShell) venv\Scripts\Activate.ps1 # 👇️ activate on Windows (cmd.exe) venv\Scripts\activate.bat # 👇️ install pycryptodome in virtual environment pip install pycryptodome
如果该python -m venv venv
命令不起作用,请尝试以下 2 个命令:
python3 -m venv venv
py -m venv venv
.
如果您看到无法加载 ps1 的错误消息
,因为在此系统上禁用了运行脚本,请运行以下命令,在出现提示时键入“yes”并重新运行激活命令。
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
pycryptodome
使用pip show pycryptodome
命令验证模块是否已安装。pip show pycryptodome pip3 show pycryptodome python -m pip show pycryptodome python3 -m pip show pycryptodome
该pip show pycryptodome
命令将声明该包未安装或显示有关该包的一堆信息,包括该包的安装位置。
在 macOS 或 Linux 上安装 PyCryptodome (Crypto)
在 macOS 或 Linux 上安装 pycryptodome:
- 搜索“终端”并启动应用程序。
- 键入
pip install pycryptodome
并按 Enter。
pip install pycryptodome # 👇️ for Python 3 pip3 install pycryptodome # 👇️ if you get permissions error sudo pip3 install pycryptodome # 👇️ if you don't have pip in your PATH environment variable python -m pip install pycryptodome # 👇️ for python 3 python3 -m pip install pycryptodome # 👇️ alternative if you get permissions error pip install pycryptodome --user # 👇️ for Anaconda conda install -c conda-forge pycryptodome
如果您收到未发现的错误pip
,请使用该python -m
命令。
python -m pip install pycryptodome python3 -m pip install pycryptodome
如果出现权限错误,请在命令前加上sudo
.
sudo pip install pycryptodome sudo pip3 install pycryptodome
或者,您可以pycryptodome
在虚拟环境中安装该软件包:
- 在项目的根目录中打开终端。
- 运行以下命令。
# 👇️ could also be "python -m venv venv" python3 -m venv venv # 👇️ activate virtual env on macOS or Linux source venv/bin/activate # 👇️ install pycryptodome in virtual environment pip install pycryptodome
您的虚拟环境将使用用于创建它的 Python 版本。
python3 -m venv venv
命令不起作用,请改用。 python -m venv venv
您可以使用该pip show
命令来验证
pycryptodome 是否已
成功安装。
pip show pycryptodome pip3 show pycryptodome python -m pip show pycryptodome python3 -m pip show pycryptodome
该pip show pycryptodome
命令将声明该包未安装或显示有关该包的一堆信息。
在 Visual Studio Code 中安装 PyCryptodome (Crypto)
在 Visual Studio Code 中安装 pycryptodome:
- 按键盘上的 CTRL + ` (反引号)打开终端。
- 运行
pip install pycryptodome
命令以安装pycryptodome
模块。
pip install pycryptodome # 👇️ for Python 3 pip3 install pycryptodome # 👇️ if you get permissions error sudo pip3 install pycryptodome # 👇️ if you don't have pip in your PATH environment variable python -m pip install pycryptodome # 👇️ for python 3 python3 -m pip install pycryptodome # 👇️ using py alias py -m pip install pycryptodome # 👇️ alternative if you get permissions error pip install pycryptodome --user
CTRL+Shift+P
在 Visual Studio 代码中安装 Python 模块时,请确保
您的 IDE 配置为使用正确版本的 Python。
按CTRL+Shift+P
或(在 Mac 上为⌘
+ Shift
+ P
)打开命令面板。
然后在字段中键入“Python 选择解释器”。
然后从下拉菜单中选择正确的 Python 版本。
python --version
如果您需要获取您的 Python 版本,可以使用该命令。
python --version python3 --version
如果您还没有虚拟环境,也可以尝试创建一个。
# 👇️ could also be "python -m venv venv" or "py -m venv venv" python3 -m venv venv # 👇️ activate on Unix or MacOS source venv/bin/activate # 👇️ activate on Windows (cmd.exe) venv\Scripts\activate.bat # 👇️ activate on Windows (PowerShell) venv\Scripts\Activate.ps1 # 👇️ install pycryptodome in virtual environment pip install pycryptodome
您的虚拟环境将使用用于创建它的 Python 版本。
在 PyCharm 中安装 PyCryptodome(加密)
在 PyCharm 中安装 pycryptodome:
- 按
Alt+F12
键盘打开终端。 - 运行
pip install pycryptodome
命令以安装pycryptodome
模块。
pip install pycryptodome # 👇️ for Python 3 pip3 install pycryptodome # 👇️ if you get permissions error sudo pip3 install pycryptodome # 👇️ if you don't have pip in your PATH environment variable python -m pip install pycryptodome # 👇️ for python 3 python3 -m pip install pycryptodome # 👇️ using py alias py -m pip install pycryptodome # 👇️ alternative if you get permissions error pip install pycryptodome --user
或者,您可以使用 IDE 本身来安装模块。
- 单击“文件”>“设置”>“项目”>“Python 解释器”。
- 单击该
+
图标并键入pycryptodome
。 - 单击“安装包”。
单击“文件”>“设置”>“项目”>“Python 解释器”。
然后从下拉菜单中选择正确的 Python 版本。
python --version
如果您需要获取您的 Python 版本,可以使用该命令。
python --version python3 --version
在 Anaconda 中安装 PyCryptodome (Crypto)
在 Anaconda 中安装 pycryptodome:
- 打开您的 Anaconda 导航器。
- 单击“环境”并选择您的项目。
pycryptodome
在右侧的搜索栏中输入。- 勾选
pycryptodome
包并单击“应用”。
或者,您可以pycryptodome
使用命令安装包。
如果您使用的是 Windows,请搜索“Anaconda Prompt”并打开该应用程序。
如果您使用的是 macOS 或 Linux,请打开您的终端。
运行以下命令来安装pycryptodome
包。
# 👇️ using conda conda install -c conda-forge pycryptodome # 👇️ Alternatively use `pip` pip install pycryptodome # 👇️ for Python 3 pip3 install pycryptodome # 👇️ if you get permissions error sudo pip3 install pycryptodome # 👇️ if you don't have pip in your PATH environment variable python -m pip install pycryptodome # 👇️ for python 3 python3 -m pip install pycryptodome # 👇️ using py alias py -m pip install pycryptodome # 👇️ alternative if you get permissions error pip install pycryptodome --user
如果您需要使用 Anaconda 安装特定版本的软件包,请单击
以下文章。
在 Jupyter Notebook 中安装 PyCryptodome (Crypto)
在 Jupyter Notebook 中安装 pycryptodome:
- 打开您的终端并输入“jupyter notebook”。
- 单击浏览器选项卡中的“新建”,然后单击“终端”。
- 键入
pip install pycryptodome
并按 Enter。
# 👇️ using pip pip install pycryptodome # 👇️ for Python 3 pip3 install pycryptodome # 👇️ if you get permissions error sudo pip3 install pycryptodome # 👇️ if you don't have pip in your PATH environment variable python -m pip install pycryptodome # 👇️ for python 3 python3 -m pip install pycryptodome # 👇️ using py alias py -m pip install pycryptodome # 👇️ using conda conda install -c conda-forge pycryptodome # 👇️ alternative if you get permissions error pip install pycryptodome --user
或者,您可以使用 Python ipykernel。
- 打开您的终端并输入“jupyter notebook”。
-
单击“新建”,然后单击“Python 3 (ipykernel)”。
-
键入
!pip install pycryptodome
并单击“运行”。
请注意,pip install
如果您使用此方法,该命令必须以感叹号为前缀。
!pip install pycryptodome
键入命令后,单击“运行”以安装模块pycryptodome
。
如果出现权限错误,例如“ [WinError: 5] Access is denied”,请将
--user
选项添加到安装命令中。
!pip install pycryptodome --user
如果错误仍然存在,请尝试
重新启动 Jupyter 内核
并重新运行该命令。