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

5

之前的操作

在使用PyCharm之前,我安装了Anaconda,然后安装了PyCharm。运行PyCharm,在下面的菜单中(如下图所示),我选择了~/Anadaconda/python.exe路径作为PyCharm解释器,并将该解释器用于我的所有项目。我没有遇到任何问题。

Setting > Project Interpret>Gear button > Add > System Interpreter 问题 1: 这个过程是正确的吗?

图片中还有一个叫做Virtualenv Environment的东西。据我所知,这会使一个项目及其依赖项被隔离开来。不过我并没有完全理解它的作用。

问题 2: 隔离项目有什么用处?我为什么要这样做?(举个例子会更有帮助)

当然,这样做是有好处和用处的,因此第三个问题也就出现了。 有一个复选框,上面写着“使其对所有项目可用”。这个选项是否仍然会被隔离开来?

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

真正的问题

问题始于一周前,当我想安装Anaconda 3.5.1的新版本时。我做了这件事,但是我希望我没有这样做。 自从那以后,对于我导入到我的项目中的每个包,我都会收到一个错误提示,似乎根本无法识别它们。 例如,Numpy:

module = self._system_import(name, *args, **kwargs)

ImportError: DLL load failed: 找不到指定的模块。

在处理上述异常时,又出现了另一个异常:

对于sklearn:

ImportError: Importing the multiarray numpy extension module failed. Most likely you are trying to import a failed build of numpy.

If you're working with a numpy git repo, try git clean -xdf (removes all files not under version control). Otherwise reinstall numpy.

Original error was: DLL load failed: 找不到指定的模块。

尝试多次重新安装PyCharm和Anaconda,但问题仍然存在,让我感到非常沮丧。


尝试使用虚拟环境?获取一台Linux机器?(即使在Windows内部的VM中也足够好)这两个选项都会让你的生活更轻松。 - E.Serra
有点有趣的是,你想为你的项目设置正确的解释器,但我看到你除了设置Conda环境之外尝试了所有方法,因为你正在使用Anaconda。 - Attila Bognár
2个回答

6
您设置解释器的步骤是正确的。使用隔离的项目可以避免包依赖问题。例如,有些项目可能需要不同版本的sk-learn包。通过使用环境隔离项目并为每个项目安装单独的包可防止出现任何问题。在该环境中“提供给项目使用”与包内部分离没有关系。
问题在于您安装Anaconda时可能没有勾选“添加到路径”选项。如果不将Anaconda添加到路径,则PyCharm不会自动激活环境。在未激活环境的情况下使用PyCharm是不受支持的,并且可能导致像您指定的那样的导入错误。因此,要解决您的错误,请使用Anaconda提示符激活环境并从那里启动PyCharm,或重新安装Anaconda/Mini-Conda并选中“添加到路径”选项。有关此问题的详细讨论可在此处找到。

谢谢。你不知道我现在的感受!!我希望我早点问了。 - Pedram
我采取了简单的方式(重新安装anaconda并选中添加到路径复选框)。尽管Anaconda安装向导没有推荐这个选项。 你提到的第一个方法是激活环境,我对conda和这些东西真的很陌生。有没有文档或培训资料可以参考呢?(我不想在无关的事情上浪费更多时间)我看了一下这里: www.conda.io/docs/user-guide/tasks/manage-environments.html 但不确定如何将其与Pycharm联系起来。 - Pedram
我想我明白了...谢谢。 https://www.jetbrains.com/help/pycharm/conda-support-creating-conda-virtual-environment.html - Pedram
2
不客气 =)。只要你没有其他安装Python的方式,我也在路径上安装了Anaconda,那么你就不会遇到很快出现问题的情况。有关“将Anaconda添加到路径中”的更多信息,请访问此处:https://dev59.com/M1QJ5IYBdhLWcg3w_7K7 ,而你找到的文档是如何设置Python解释器以链接到特定的conda环境。要更熟悉环境,请参阅这个很棒的教程:https://medium.freecodecamp.org/why-you-need-python-environments-and-how-to-manage-them-with-conda-85f155f4353c。 - Psychotechnopath
1
一旦你按照这个步骤操作,就可以通过谷歌搜索“如何从命令提示符启动PyCharm”来解决第一个问题。然而,在我看来,将路径添加到环境变量中的解决方案要简单得多,但是由于如果您的PATH上有多个Python安装程序可能会导致问题,因此conda不支持它。 - Psychotechnopath
你提到的链接真的帮了我,谢谢。现在我对它有了更加清晰的理解。 - Pedram

2

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

使用虚拟环境就像是一个干净的板子。你不会希望在一个用于网络爬虫的环境中安装Django。同样,在你的Django网站中,你也不希望有BeautifulSoup。这是在不同项目中管理环境的最佳方式。我强烈建议为每个创建的项目设置一个虚拟环境。

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

有时,在安装时出现错误时,你可以使用easy install而不是pip来解决问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接