Python运行脚本报错ImportError: No module named cryptography如何解决?
可行解决步骤
第一步:确认运行脚本的Python解释器与pip所属Python为同一版本
执行以下两条命令,对比输出的路径是否一致:- 查看当前执行脚本的Python解释器路径:
python -c "import sys; print(sys.executable)" - 查看pip对应的Python路径:
pip --version
如果路径不一致,说明存在多Python版本冲突,优先使用解释器绝对路径安装模块:"C:\Program Files\Python39\python.exe" -m pip install cryptography==3.4.8
- 查看当前执行脚本的Python解释器路径:
第二步:排查虚拟环境冲突
若你使用IDE(如Pycharm、VSCode)运行脚本,检查IDE是否自动启用了项目虚拟环境:如果终端前缀带有(venv)/(虚拟环境名)标识,说明当前处于虚拟环境中,需先激活虚拟环境再重新安装模块,避免模块安装到全局环境、虚拟环境无法读取的问题。第三步:检查系统模块查找路径配置
执行命令查看Python的模块搜索路径:python -c "import sys; print('\n'.join(sys.path))"
确认输出中包含c:\program files\python39\lib\site-packages,如果没有可以临时修复:在你的script.py文件最开头加入以下两行代码:import sys sys.path.append(r"c:\program files\python39\lib\site-packages")如需永久修复,可在Windows系统环境变量中新增
PYTHONPATH变量,值设置为上述site-packages的路径。第四步:修复权限导致的安装不完整问题
由于你将Python安装在Program Files系统目录,普通权限运行cmd时pip可能无法正常写入文件,即使提示安装成功实际模块文件缺失。打开管理员权限的命令提示符,重新执行安装命令即可。后续也可考虑将Python安装到非系统级目录(如C:\Python39)避免这类权限问题。
内容的提问来源于stack exchange,提问作者Maxibon
相关产品推荐
相关产品推荐

