conda安装的包无法导入

  • 2018-11-09
  • 1,237
  • 0

conda 安装的包使用时提示不存在,ModuleNotFoundError: No module named ...

1. 踩坑记录:

我的电脑的python环境是通过安装Anaconda配置的,以前为了用最新的包,自己把numpy, scikit-learn, tensorflow等又通过pip更新到最新的。然后今天发现 文档 说从conda安装的numpy, scikit-learn, scipy, tensorflow有计算加速。所以又通过pip删除这几个包,在conda里重新安装。安装完成使用时 import numpy,报错:ModuleNotFoundError: No module named 'numpy',然后我发现在pip list中根本没有numpy,而在conda list中确有,然后在conda中又不能卸载,因为这样conda会把与之关联的所有都会卸载!所以无奈之下只能在pip中再安装一个numpy,但是这样很可惜又没有计算加速了。然后我就想pip既然找不到那应该是pip和conda安装的目录不一样,那我先把两个版本安装成一样,再找到conda安装的目录把numpy复制到pip安装的目录下,但是我在安装 pip install numpy==1.15.4时竟然提示没有这个版本,我发现pip渠道安装的numpy最高版本是 1.15.2 ,这样问题就找到了。是conda安装的包版本高于pip,导致pip list时就不会存在这个版本不存在的包了,于是我使用conda对numpy降级到 1.15.2 后都一切正常了。

2. 问题总结:

conda安装的包与pip安装的包如果不能相互查看,原因有两个:

  1. 电脑装了多个python环境。(比如同时安装了python官方解释器又安装了anaconda)

  2. 那个包的版本没有同时存在于conda与pip中。(比如我这个例子,conda安装的numpy版本是 1.15.4,但是pip中numpy最高版本是 1.15.2)

3. 问题解决:

对于问题 1 解决是卸载一个环境,搞这么多早晚要出事的。

问题 2 解决方法是确认那个包的版本同时存在于 conda 和 pip。


版权声明: 本网站所有资源采用BY-NC-SA 4.0协议进行授权,转载应当以相同方式注明文章来自:conda安装的包无法导入 - 一方的天地

评论

还没有任何评论,你来说两句吧

发表评论

陕ICP备18010914号
知识共享许可协议
本作品由一方天地采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可,转载或引用本站文章应遵循相同协议。如果有侵犯版权的资源请尽快联系站长,本站会在24h内删除有争议的资源。 -