M1芯片MacOS13.4下Python3.10导入Crypto报错,装pycryptodome仍未解决
解决PyCharm中“Unresolved reference 'Crypto'”报错问题
问题场景
在搭载M1芯片的macOS 13.4系统中,使用Python 3.10编写代码:
from Crypto.Cipher import PKCS1_v1_5 as Cipher_pksc1_v1_5 from Crypto.PublicKey import RSA def print_hi(name): print(f'Hi, {name}') if __name__ == '__main__': print_hi('PyCharm')
运行时出现报错:Unresolved reference 'Crypto'。已通过pdm add pycryptodome安装pycryptodome,pyproject.toml已配置依赖pycryptodome>=3.19.0,且pdm list显示已安装3.19.0版本,但问题仍未解决。
环境信息
- 当前Python路径:
/Users/xiaoqiangjiang/PycharmProjects/pythonLearn/venv/bin/python - PDM信息:版本2.10.1,Python解释器路径
/Users/xiaoqiangjiang/PycharmProjects/pythonLearn/.venv/bin/python(3.10) pdm list输出包含pycryptodome 3.19.0
解决方法
1. 核对PyCharm的Python解释器配置
打开PyCharm的File > Settings > Project: pythonLearn > Python Interpreter,确认选中的解释器路径与PDM使用的一致(即/Users/xiaoqiangjiang/PycharmProjects/pythonLearn/.venv/bin/python)。若不一致,点击齿轮图标选择Add,找到该虚拟环境路径添加并设为项目默认解释器。
2. 刷新PyCharm依赖索引
在Python Interpreter页面,点击右上角的刷新按钮(圆形箭头),等待PyCharm重新加载已安装的包,完成后检查报错是否消失。
3. 验证包是否安装在正确环境
打开终端,执行以下命令:
source /Users/xiaoqiangjiang/PycharmProjects/pythonLearn/.venv/bin/activate python -c "from Crypto.Cipher import PKCS1_v1_5"
如果无报错,说明包安装正常,问题出在PyCharm配置;若报错,需重新在该环境安装pycryptodome:
pdm add pycryptodome
4. 清理PyCharm缓存
打开File > Invalidate Caches...,选择Invalidate and Restart,重启PyCharm后重新检查代码。
5. 尝试修改导入语句
部分环境下pycryptodome的导入路径为Cryptodome(首字母大写),可修改代码中的导入语句测试:
from Cryptodome.Cipher import PKCS1_v1_5 as Cipher_pksc1_v1_5 from Cryptodome.PublicKey import RSA
内容的提问来源于stack exchange,提问作者Dolphin
相关产品推荐
相关产品推荐

