在PyCharm中使用(Ana)conda

80
我在我的Linux(Ubuntu 14.04)机器上运行PyCharm 4。除了系统Python外,我还安装了Anaconda。让这两个工具良好地协作似乎是一个有点棘手的问题... PyCharm为虚拟环境和pip提供了一些有趣的集成功能,但Anaconda Python发行版似乎更喜欢使用它自己的conda工具来执行这些操作。
有没有相对简单/无痛的方法可以让我能够在PyCharm中使用conda?不仅仅是将PyCharm指向Anaconda Python二进制文件作为项目解释器的替代方案,而是能够创建、源/激活和停用虚拟环境,在这些虚拟环境中添加/删除包等等。
我是否需要选择使用Anaconda(并拥有比系统提供的更新版本的Python),还是能够充分利用PyCharm的功能?

1
这可能至少能回答你问题的一部分。https://dev59.com/YGMk5IYBdhLWcg3w0hM-#19025207 - asmeurer
4
并不是很难让PyCharm找到和使用Anaconda Python解释器,或者通过conda创建的虚拟环境的解释器。但是让PyCharm使用conda来管理或识别使用conda创建的包或虚拟环境是有问题的。 - memilanuk
4
我知道了。我认为目前还没有办法,但您可以在这里投票支持此功能:http://youtrack.jetbrains.com/issue/PY-13698 - asmeurer
在使用Conda后,我在Ubuntu(14.04和16.04)上的PyCharm 4.5中遇到了找不到已安装软件包的问题。问题似乎是如果我在PyCharm中打开了使用普通虚拟环境的项目,则不使用Conda的项目将无法找到已安装的软件包。如果我关闭不使用Conda的项目,则Conda项目会像应该一样找到软件包。 - Mikko Koho
5个回答

99

我知道现在已经很晚了,但是我认为澄清一些事情是好的:PyCharm、Conda 和 pip 可以很好地协同工作。

简短的回答

只需从命令行管理 Conda 。 PyCharm 会自动注意到发生的更改,就像使用 pip 一样。

详细回答

创建一个新的 Conda 环境:

conda create --name foo pandas bokeh

这个环境位于 conda_root/envs/foo 下。您的 Python 解释器为 conda_root/envs/foo/bin/pythonX.X,并且所有 site-packages 都在 conda_root/envs/foo/lib/pythonX.X/site-packages 中。这与 pip 虚拟环境中的目录结构相同。 PyCharm 没有区别。

现在,要从 PyCharm 激活您的新环境,请转到 文件 > 设置 > 项目 > 解释器,在项目解释器字段(小齿轮)中选择 添加本地,然后寻找您的 Python 解释器。恭喜!您现在拥有一个带有 pandas 和 bokeh 的 Conda 环境!

现在安装更多包:

conda install scikit-learn

好的...回到设置中的解释器。 PyCharm 神奇地看到了 scikit-learn!

反过来也是一样的,即当您在 PyCharm 中使用 pip 安装另一个包时,Conda 会自动注意到。假设您已安装 requests。现在列出当前环境中的 Conda 包:

conda list

列表现在包括 requests,并且 Conda 正确地检测到(第三列)它是使用 pip 安装的。

结论

这对像我这样试图摆脱 pip/virtualenv 安装问题的人来说绝对是好消息,因为当包不是纯 Python 时,这些工具可能会导致一些问题。

注意:我在Linux上运行PyCharm专业版4.5.3。对于Windows用户,请用GUI界面替换命令行(并将正斜杠替换为反斜杠)。它应该也适用于你们。

编辑:PyCharm5已经发布,支持Conda!社区版也可以使用。


3
抱歉,但我确实无法帮助你解决Windows的问题。我从未使用过它,也不熟悉相关知识。 - cyberbikepunk
如果您将安装在正确路径“~/anaconda/lib/python2.7/site-packages”下的程序包写入requirements.txt文件中,PyCharm会错误地认为您没有安装任何程序包,即使它们已经被安装。但是,当您点击运行时,程序仍然可以运行。 - hihell
1
简而言之,在Windows上,您本地的Python环境位于conda_root/envs/foo/python.exe - Abhishek Dujari
1
如果你的环境文件夹里没有可执行文件(python.exe),那该怎么办? - information_interchange
@information_interchange 请参考此答案 - Asclepius
显示剩余3条评论

21

将项目解释器更改为~/anaconda2/python/bin,方法是转到 文件 -> 设置 -> 项目 -> 项目解释器。还需通过运行 -> 编辑配置更新运行配置以使用项目默认的 Python 解释器。这使得PyCharm使用Anaconda而不是usr/bin/python27下的默认 Python 解释器。


12
根据 @cyberbikepunk 的回答,自pycharm5起,pycharm支持Anaconda!看一下添加环境有多容易:enter image description here

7
Continuum Analytics 现在提供了如何在各种 IDE 中设置 Anaconda 的说明,包括 Pycharm。您可以在这里查看 此处。然而,在运行于 Ubuntu 15.10 的 Pycharm 5.0.1 上,Project Interpreter 设置是通过文件 | 设置,然后在树视图的项目分支下的设置对话框中找到的。

-1

这可能有些重复。

我试图使用PyCharm运行Flask - 安装了Anaconda 3、PyCharm 2019.1.1和Windows 10。创建了一个新的Conda环境 - 结果出现了错误。

按照以下步骤操作 -

  1. 在创建环境后,使用cmd安装Python和Flask。

  2. 按照this的答案进行操作。

  3. 如上所述,进入“Run” -> “Edit Configurations”,并在(2)中更改环境。

显然,在所有地方都保持正确的Python解释器(即环境中的解释器)。


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