在pycharm中使用Conda环境


Answers:


39

最好的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 '18

2
@ user2856完全同意。激活不只是更改PATH。它可以指向其他批处理脚本,这些脚本设置超出路径的所有环境变量。我认为这个答案是错误的。
user32882 '19

@ user32882您绝对正确,我逐字提出了该报价,但这样做是错误的!我将编辑答案。
阿里·库珀·戴维斯

46

打开

pycharm / preferences / project / Project Interpreter

并检查现有的解释器。Conda环境可能已经在此处列出。

在此处输入图片说明

如果不存在,则可以使用“创建Conda Env”按钮创建新的conda环境。

在此处输入图片说明

如果您正在寻找特定的conda环境,则可以使用“添加本地”。当您点击“添加本地”时,您将输入conda环境路径+/bin/python

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

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

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


1
使用Pycharm的“ Create Conda Env”与在终端中创建新的conda环境,然后通过Pycharm的“ Add Local”访问它之间有什么区别吗?
DataMan

1
您可以轻松测试。通过pycharm创建一个conda env,然后在oepn终端上列出所有环境,如果在此处列出,则表示没有任何区别。您可以在终端上使用以下命令列出conda env:conda info --envs
wasabi

我没有那个切换。仅添加本地并添加删除。
softmarshmallow

Ctrl+Alt+S显示“项目首选项”或“项目设置”,因为我找不到菜单菜单按钮
xdola

10

如以上评论之一所述,激活环境可以运行执行其他操作(如设置环境变量)的脚本。我曾在一个做到这一点的环境中工作。在这种情况下起作用的是:

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

然后,Pycharm可以访问通过激活环境设置的环境变量。


8

怎么样 environment.yml

Pycharm确实可以创建一个新的conda环境。不幸的是,在解决此问题之前,它不会提供environment.yml支持,这意味着它不会安装在那里声明的依赖项。

在基于此类文件的项目上工作时,您需要在计算机上手动创建/更新专用环境:

conda env create -n <my-project>

然后记住每次environment.yml更改(从您或上游)进行更新。

conda env update -n <my-project>

不理想


2

我在Windows 10专业版64位操作系统上遇到了同样的问题,我的解决方案是以管理员身份启动Pycharm,并且有效


0

对我而言,很重要的一点是要知道,如wasabi的注释中所述设置项目解释器实际上并不会激活conda环境。

我在PyCharm中运行xgboost(我用conda安装)时遇到了问题,结果发现它还需要向PATH添加一些文件夹。最后,我不得不采取一个丑陋的解决方法:

  1. 找出PATH中给定环境的其他文件夹(echo %PATH%在cmd中)

  2. 在我希望运行的文件中,将其他所有内容置于首位:

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

我知道这根本不是正确的解决方案,但是除了Mark Turner在他的评论中提到的内容之外,我找不到其他答案。


0

要将Conda环境用作PyCharm解释器

  1. 从Conda导航器激活Conda环境
  2. 从导航器工具列表中打开PyCharm
  3. 在“ Conda添加解释器”部分中,选择现有的Conda环境,它会自动识别该环境的python.exe文件的路径
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.