在PyCharm中使用Conda环境

98
使用 source activate env_name 命令来激活 Conda 环境。
在 PyCharm 中如何激活环境?
11个回答

63

打开

pycharm/preferences/project/Project Interpreter

检查现有的解释器。Conda环境可能已经列在那里。

enter image description here

如果不存在,您可以使用 "Create Conda Env" 按钮创建新的conda环境

enter image description here

如果您正在寻找特定的conda环境,可以使用“add local”。当您单击“add local”时,您将输入conda环境路径+ /bin/python

您可以使用以下命令列出系统中的所有conda环境。

>>conda info --env
# conda environments:
#
tensorflow            *  /Users/username/miniconda3/envs/tensorflow

你可以选择最适合你需求的方法。


1
使用Pycharm的“创建Conda Env”和在终端中创建新的conda环境,然后通过Pycharm的“添加本地”访问它之间有什么区别吗? - DataMan
1
你可以轻松进行测试。通过PyCharm创建一个conda环境,然后打开终端并列出所有环境,如果它在列表中,那么它们之间没有区别。你可以使用以下命令在终端上列出conda环境:conda info --envs - clockworks
1
我没有那个切换按钮,只有添加本地和添加删除。 - softmarshmallow
2
按下 Ctrl+Alt+S 可以显示“项目首选项”或“项目设置”,因为我找不到该死的菜单按钮。 - xdola

44

最好的PyCharm相关答案是由wasabi提供的这个答案(如下)。

然而,一般情况下,如果你想要在Conda环境中使用解释器,则可以将解释器的位置更改为指向你想要使用的特定环境,例如在此评论中提到的 /home/username/miniconda/envs/bunnies

然而,正如Mark Turner的这个回答所提到的那样,当激活一个环境时执行shell脚本是可能的。这种方法不会运行该shell脚本,但如果需要运行该shell脚本,则可以遵循他的解决方法:

  • 打开一个conda提示符
  • 激活环境
  • 从conda提示符运行pycharm

5
conda包可能会附带一个在环境激活时运行的shell脚本。在这种情况下,激活环境不仅改变PATH,而且还会运行这些脚本。因此,在某些情况下可能会出现PyCharm特定的问题。但实际上,在我(有限的)经验中,这样的脚本很少见。 - ctrueden
2
这并不完全正确。根据上面的评论,conda envs也可以通过[your_env]/etc/conda/activate.d(和deactivate.d)中安装的软件包来安装激活(和去激活)脚本。PyCharm不运行这些脚本,但是activate/source activate会运行它们,不运行这些脚本可能会导致PyCharm中出现意外行为。 - user2856
2
@user2856 完全同意。Activate 不仅仅是改变 PATH。它可以指向其他批处理脚本,设置各种超出路径的环境变量。我认为这个答案是错误的。 - user32882
@user32882 你说得绝对正确,我直接抄袭了那个引文,这是我的错误!我会编辑我的回答。 - Ari Cooper-Davis

12

关于environment.yml

Pycharm确实可以创建一个新的conda环境。但是,直到修复此问题之前,它不支持environment.yml,这意味着它将不会安装在其中声明的依赖项。

当使用这样的文件作为项目基础时,您需要手动在计算机上创建/更新专用环境:

conda env create -n <my-project>

记得每次更新environment.yml文件时进行更新(无论是你自己的更新还是上游更新)。

conda env update -n <my-project>

不太理想


12

如上面的评论中所提到的,激活一个环境可以运行脚本执行其他操作,比如设置环境变量。我曾经在一个这样的环境中工作过。在这种情况下,以下方法可行:

  • 打开 conda 提示符
  • 激活环境
  • 从 conda 提示符中运行 Pycharm

然后,Pycharm 就可以访问由激活该环境设置的环境变量。


这个可以用,谢谢!但是肯定有一种方法可以打开PyCharm应用程序并使用设置中指定的环境,对吧? - rocksNwaves

5

我曾遇到同样的问题,我的系统是64位的Windows 10专业版。解决方法是以管理员身份启动Pycharm,然后问题就得以解决。


5
  1. 在PyCharm IDE右上角找到设置。
  2. 进入项目:{你的项目名}->Python解释器。
  3. 进入此处的设置并点击“添加”:

enter image description here

  1. 在“添加Python解释器”中选择conda环境。
  2. 选择现有环境,并从下拉菜单中选择所需的conda环境路径,或添加conda环境中python.exe文件的路径。作为参考,我添加了我的Windows 10系统的路径:C:\Users\maria\AppData\Local\Continuum\anaconda3\envs<mycondaenv>\python.exe。根据安装配置,它可能因您的系统而异。

我已经选择了conda环境,但是当我点击新终端时,它仍然显示:Failed to activate conda environment. Please open Anaconda prompt, and run `C:\Users\HP\anaconda3\condabin\conda.bat init powershell` there. 我该如何在终端上激活conda环境? - Rohan Devaki
我已经选择了conda环境,但是当我点击新终端时,它仍然显示:无法激活conda环境。 请打开Anaconda提示符,并在那里运行`C:\Users\HP\anaconda3\condabin\conda.bat init powershell`。 我如何在终端上激活conda环境? - undefined

4

我认为很重要的一点是要知道,按照wasabi评论中所描述的设置项目解释器实际上并没有激活conda环境。

我在使用PyCharm时遇到了运行xgboost(我使用conda安装)的问题,最后发现还需要将一些文件夹添加到PATH中。最终,我只能采用一个丑陋的解决方法:

  1. 找出特定环境下PATH中的额外文件夹(在cmd中使用echo %PATH%

  2. 在我想要运行的文件中,在任何其他内容之前放置:

import os os.environ["PATH"] += os.pathsep + os.pathsep.join(my_extra_folders_list)

我知道这不是个适当的解决方案,但除了Mark Turner在他的评论中提到的之外,我找不到其他合适的解决方法。


3

如何在PyCharm中使用Conda环境作为解释器

  1. 从Conda导航器中激活所需的Conda环境
  2. 从导航器工具列表中打开PyCharm
  3. 在“添加Conda解释器”部分选择现有的Conda环境,它会自动识别该环境的python.exe文件路径。

1
@user11675463 这个方法可以,但更快的方式是在Pycharm底部点击“终端”按钮,激活你的conda环境,然后继续操作。 - brethvoice
1
Pycharm的好处在于你可以从其中更新conda环境。因此,如果你尝试在一个由于缺少模块/库而无法运行代码的环境中运行代码,你可以通过一次鼠标点击安装它们。 - brethvoice
1
请确保不要尝试首先指定conda可执行文件。只需按照此处描述的方式浏览Python解释器,PyCharm将填写其他所需字段:https://docs.anaconda.com/anaconda/user-guide/tasks/integration/python-path/ - brethvoice

3
首先,在Pycharm右下角选择“解释器设置...”。

enter image description here

然后从您想要的conda环境中选择python.exe。 我的环境路径是:C:\Users\javadsh\anaconda3\envs\tf-gpu\python.exe

enter image description here


2
在 PyCharm 2022.3.3 中(至少是我现在使用的版本),您可以前往添加解释器,选择 Conda 环境,然后您必须选择 conda.exe 而不是 python.exe。

之后,您可以加载定义的环境并从列表中选择一个。

enter image description here


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