已安装cryptography仍报No module named 'cryptography'错误的问题咨询
问题排查与解决方法
核心问题原因
你执行pip安装时,cryptography被安装到了Python 3.9的第三方库目录中,但你运行脚本使用的是Python 3.7.9的IDLE,二者属于完全独立的Python环境,3.7环境中并未实际安装cryptography库,因此出现模块找不到的报错。
必做排查步骤
- 第一步:确认当前运行脚本的Python环境信息
在你使用的IDLE交互界面执行以下代码:
输出的路径大概率为Python3.7的安装路径,和pip安装提示里的Python39目录完全不同,即可验证环境不匹配的问题。import sys # 输出当前Python解释器的路径 print(sys.executable) # 输出当前Python版本 print(sys.version) - 第二步:验证pip对应的Python版本
打开命令提示符执行:pip -V
输出结果会显示当前pip绑定的Python版本,如果显示为3.9.x,就说明你默认调用的pip是Python3.9的,安装的包只会给3.9用。
解决方法
- 方法1:直接给你使用的Python3.7环境安装包
把第一步输出的Python解释器路径复制下来,在命令提示符执行如下命令(替换为你自己的实际路径):"C:\Users\myusername\AppData\Local\Programs\Python\Python37\python.exe" -m pip install cryptography - 方法2:用版本指定方式安装
如果你的系统安装了Python启动器,直接执行:py -3.7 -m pip install cryptography
常见疑问解答
cryptography安装完成后不需要等待任何时间,只要安装到了对应Python环境的site-packages目录下,立刻就能被识别,无需等待1小时。
其他可选排查方向
如果确认包已经安装到对应环境还是报错,可以按以下步骤排查:
- 检查是否使用了虚拟环境:如果安装包时开启了虚拟环境,运行脚本时没有进入对应虚拟环境,也会出现模块找不到的问题
- 检查Python搜索路径:在IDLE中执行
print(sys.path),确认输出的路径列表里包含你安装cryptography的site-packages目录,若不存在可临时添加:import sys sys.path.append("你安装cryptography的site-packages的完整路径")
内容的提问来源于stack exchange,提问作者Michael Kennedy
相关产品推荐
相关产品推荐

