升级Python 3.5.2至3.6.5后,导入第三方库提示ModuleNotFoundError
解决Python 3.6升级后已安装库无法导入的问题
我之前也碰到过类似的情况,升级Python版本后明明用pip装了库,运行脚本却提示找不到模块。先看看你遇到的具体错误:
Traceback (most recent call last): File "main.py", line 8, in <module> from kclass import kNearestNeighbour, euclideanDistance, getFeatureDistance File "/home/raovinnakota/Desktop/BioInformatics/Final_Project/kclass.py", line 10, in <module> from matplotlib import pyplot ModuleNotFoundError: No module named 'matplotlib'
你说用pip3重装库时提示已安装,但所有库都报同样的错,这其实是因为Python 3.6安装不规范,没配套安装对应版本的pip3.6。此时你用pip3装的库都跑到原来的Python 3.5环境里去了,新的3.6环境根本没这些依赖,自然找不到。
下面是亲测有效的修复步骤:
先安装Python 3.6编译所需的SSL依赖,避免后续pip出现SSL相关问题:
sudo apt-get update sudo apt-get install libssl-dev openssl重新编译安装Python 3.6,确保启用SSL支持(这步很关键,不然pip3.6可能无法正常使用):
cd /usr/src sudo wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz sudo tar xzf Python-3.6.5.tgz cd Python-3.6.5 sudo ./configure --enable-optimizations --with-ssl sudo make altinstall小贴士:用
make altinstall而不是make install,这样不会覆盖系统默认的Python 3.5,避免搞乱系统依赖。验证安装结果,确认Python 3.6和pip3.6都能正常运行:
python3.6 --version pip3.6 --version最后用
pip3.6重新安装你需要的库,比如matplotlib:pip3.6 install matplotlib
完成这些步骤后,再运行你的脚本,应该就能正常导入所有库了。
内容的提问来源于stack exchange,提问作者Rao Vinnakota
相关产品推荐
相关产品推荐

