在pycharm中使用anaconda(导入库错误,更新anaconda和虚拟环境)

时间:2018-12-10 16:58:45

标签: python pycharm anaconda

我之前在做什么

当我开始在pycharm中使用Anaconda时,我先安装了Anaconda,然后又安装了pycharm。运行pycharm,并在以下菜单中(下图),我确实为pycharm解释器选择了~/Anadaconda/python.exe路径,并且我在所有项目中都使用了该解释器。我没问题。

Setting > Project Interpret>Gear button > Add > System Interpreter 问题1: 此过程正确吗?

图片中有一个叫做Virtualenv Environment的东西。据我所知,这使项目及其依赖项隔离。我不完全了解它的用途。

问题2: 隔离项目有什么用?我为什么要那样做? (一个示例会有所帮助)

当然,这样做有好处和用途,所以这里出现第三个问题有一个显示Make it available for all project的复选框,但此选项在被隔离后仍然存在吗?

Setting > Project Interpret>Gear button > Add > Virtualevn Environment

实际问题

这个问题从一周前开始,当时我想安装新版本的Anaconda 3.5.1。而我做到了。但我希望没有。 完成此操作后,对于导入到项目中的每个包,我都会收到一个错误,似乎根本无法识别它们。 例如脾气暴躁:

  

模块= self._system_import(名称,* args,** kwargs)

     

ImportError:DLL加载失败:找不到指定的模块。

     

在处理上述异常期间,发生了另一个异常:

对于sklearn:

  

ImportError:   导入多数组numpy扩展模块失败。最   可能是您尝试导入失败的numpy版本。

     

如果您使用的是numpy git存储库,请尝试git clean -xdf(删除所有   文件不受版本控制)。否则,请重新安装numpy。

     

最初的错误是:DLL加载失败:找不到指定的模块。

疲倦,重新安装pycharm和anaconda几次。我对此感到疯狂。

2 个答案:

答案 0 :(得分:3)

您用于设置解释器的步骤正确。隔离项目的用途是,您不会遇到软件包依赖项的麻烦。一些项目可能需要不同版本的软件,例如sk-learn软件包。通过使用环境隔离项目并为每个项目安装单独的软件包,可以防止出现任何问题。 “使项目可用”与隔离该环境中的程序包无关。

这里的问题是,在安装Anaconda时,您可能未勾选“添加到路径”选项。当您不将Anaconda添加到路径时,PyCharm不会自动激活您的环境。不支持在未激活的环境中使用PyCharm,并且可能导致导入错误,如您指定的导入错误。因此,要解决您的错误,请使用anaconda提示符,激活您的环境并从那里启动PyCharm,或重新安装anaconda / mini-conda,并选中“添加到路径”选项。有关此问题的详细讨论,请参见here

答案 1 :(得分:1)

是的,虚拟环境就是这样。

使用虚拟环境是一个干净的选择。您不希望将环境用于包含Django的网络爬虫。在您的Django站点中,您不希望包含BeautifulSoup。这是在不同项目中管理环境的最佳方法。我强烈建议为您创建的每个项目设置一个虚拟环境。

现在,当您遇到这些错误时。首先,您是否已将pip更新到最新版本?安装numpy时,您是使用CLI还是使用pycharm向导?

有时安装时遇到错误,可以使用简易安装代替pip,这样可以解决问题。