Python3.6环境下ModuleNotFoundError: No module named 'numpy'问题求助
这种情况我碰到过好多次,大概率是pip和Python版本不匹配搞的鬼——你用的pip默认关联到Python2.7了,所以numpy装到了Python2的环境里,Python3.6自然找不到它。下面给你一步步的解决办法:
解决步骤
1. 先搞清楚pip到底对应哪个Python版本
先运行这几个命令,确认你手里的pip分别属于哪个Python环境:
pip --version pip3 --version pip3.6 --version
输出会类似 pip 20.0.2 from /usr/lib/python2.7/dist-packages/pip (python 2.7),看最后括号里的Python版本就能明白。你要找的是对应Python3.6的那个pip(一般是pip3.6或者pip3,取决于你的系统配置)。
2. 用Python3.6专属的pip重新安装numpy
直接用Python3.6自带的pip模块来安装,这是最保险的方式,绝对不会装错环境:
# 先把Python2里的numpy卸载(可选,避免后续混淆) pip uninstall numpy -y # 用Python3.6的pip安装numpy,需要权限就加sudo python3.6 -m pip install numpy --upgrade
如果是全局安装需要管理员权限,就改成:
sudo python3.6 -m pip install numpy --upgrade
3. 验证安装是否成功
运行这条命令,确认Python3.6能正常导入numpy:
python3.6 -c "import numpy; print('Numpy版本:', numpy.__version__)"
要是输出了具体的版本号,那问题就解决啦。
4. (可选)用虚拟环境彻底避免版本冲突
如果经常和多Python版本打交道,建议用虚拟环境隔离不同项目的依赖,省得以后再踩类似的坑:
# 创建一个基于Python3.6的虚拟环境 python3.6 -m venv numpy_env # 激活虚拟环境(激活后命令行前面会出现环境名) source numpy_env/bin/activate # 此时pip默认就是这个虚拟环境里的Python3.6的pip,直接装numpy就行 pip install numpy # 验证一下 python -c "import numpy; print(numpy.__version__)" # 用完退出虚拟环境 deactivate
几个要注意的坑
- 别直接用
pip install numpy:Ubuntu18.04默认pip是绑定Python2.7的,装了也和Python3.6没关系。 - 运行Python的时候要明确写
python3.6:别图省事写python(默认是2.7)或者python3——万一你装了其他Python3版本(比如3.7),python3可能指向别的版本,一定要指定python3.6。
内容的提问来源于stack exchange,提问作者shiva
相关产品推荐
相关产品推荐

