Ubuntu16下pycrypto在Python3中无法导入问题求助
问题分析与解决方法
从你的输出里能一眼看出问题核心:你的pip3对应的是Python 3.6版本,但你默认运行的python3是3.5.2——用pip3安装的pycrypto被放到了/usr/local/lib/python3.6/dist-packages目录下,而Python 3.5只会在自己的站点包目录(比如/usr/local/lib/python3.5/dist-packages)里查找模块,自然找不到已经安装的Crypto库。
下面是具体的解决步骤:
方法一:用当前Python版本自带的pip安装(最稳妥)
直接通过python3 -m pip的方式调用对应版本的pip来安装,这样能确保包被安装到当前python3的搜索路径中:
sudo -H python3 -m pip install pycrypto
安装完成后再启动python3尝试导入,应该就能正常使用了。
方法二:指定对应版本的pip安装
如果你的系统里有多个Python3版本,也可以直接用对应版本的pip来安装。对于Python3.5,你可以尝试:
sudo -H pip3.5 install pycrypto
如果提示pip3.5不存在,先安装Python3.5的pip工具:
sudo apt-get update && sudo apt-get install python3-pip
额外验证步骤
你可以先确认python3和pip3的版本对应关系,避免再次出现版本不匹配的问题:
- 查看当前
python3版本:
python3 --version
- 查看
pip3对应的Python版本:
pip3 --version
如果两者版本不一致,就会出现你遇到的这种“明明安装了但找不到模块”的问题。
内容的提问来源于stack exchange,提问作者user9371654
相关产品推荐
相关产品推荐

