Python 3.12 Windows 环境下 ModuleNotFoundError 解决方案
学习笔记作者:admin日期:2025-05-27点击:26
摘要:总结了在 Windows 上使用 Python 3.12 时遇到 ModuleNotFoundError: No module named 'Crypto' 的解决步骤,包括正确安装 PyCryptodome、检查 Python 环境路径及虚拟环境配置。
Python 3.12 Windows 环境下 ModuleNotFoundError 解决方案
当你在 Windows 上使用 Python 3.12 时,如果遇到 ModuleNotFoundError: No module named 'Crypto'
错误,可以按照以下步骤解决问题。
1. 正确安装 PyCryptodome
确保你运行的是以下命令:
pip install pycryptodome
注意:不是 crypto
或 Crypto
,而是全小写的 pycryptodome
。
2. 检查是否安装成功
运行以下命令查看是否安装成功:
pip show pycryptodome
如果输出类似如下内容,说明已经安装好了:
Name: pycryptodome
Version: 3.20.0
Summary: Cryptographic library for Python
Home-page: https://www.pycryptodome.org
Author: Helder Eijs
Author-email: helderijs@gmail.com
License: BSD
Location: c:\users\yourname\appdata\local\programs\python\python312\lib\site-packages
Requires:
Required-by:
3. 清理 pip 缓存并重装(可选)
有时候缓存可能有问题,可以尝试:
pip cache purge
pip install --no-cache-dir pycryptodome
4. 检查 Python 环境是否正确
确保你运行的是 Python 3.12 的 pip。
查看当前 pip 对应的 Python 版本:
pip -V
输出应该类似于:
pip 24.0 from C:\Users\你的用户名\AppData\Local\Programs\Python\Python312\lib\site-packages\pip (python 3.12)
如果不是 Python 3.12,建议使用:
python -m pip install pycryptodome
或者:
py -3.12 -m pip install pycryptodome
5. 测试是否能导入 Crypto
新建一个测试文件 test_crypto.py
,内容如下:
from Crypto.Cipher import AES
print("导入成功!")
然后运行它:
python test_crypto.py
如果输出 导入成功!
,说明问题已解决。
6. 如果你在虚拟环境中
请确保你激活了虚拟环境,并且在该环境中安装了 pycryptodome
:
# 创建虚拟环境
python -m venv venv
# 激活虚拟环境
venv\Scripts\activate
# 安装依赖
pip install pycryptodome
7. 卸载错误的 crypto 包(如果有)
有些用户误装了 crypto
(注意是小写),这会导致冲突。
你可以检查一下有没有安装这个包:
pip show crypto
如果有的话,卸载它:
pip uninstall crypto
8. 查看 Python 命令对应的文件路径
使用以下命令查看 python
命令对应的实际可执行文件路径:
where python
输出可能类似如下内容:
C:\Users\你的用户名\AppData\Local\Programs\Python\Python312\python.exe
C:\Users\你的用户名\AppData\Local\Microsoft\WindowsApps\python.exe
你可以通过运行下面这个命令来确认当前使用的具体路径:
python -c "import sys; print(sys.executable)"
9. 总结
通过以上步骤,你应该能够解决 ModuleNotFoundError: No module named 'Crypto'
的问题。