我在Windows的默认位置有一个conda环境,C:\ProgramData\Anaconda2\envs\myenv
。此外,根据建议,conda脚本和可执行文件不在%PATH%
环境变量中。
我在pycharm中打开了一个项目并指向python解释器
C:\ProgramData\Anaconda2\envs\myenv\python.exe
和pycharm似乎与python控制台,运行环境和调试模式中的环境配合良好。
但是,打开终端时,环境未激活(我确保选中了激活环境的复选框)。要清楚 - 当我使用virtualenv做同样的事情时,终端确实可以毫无问题地激活环境。
以下是我尝试过的一些不起作用的事情:
Scripts
文件夹
这些都没有奏效。 一旦终端打开,我可以手动激活环境而不会出现问题,但我该如何自动完成?
答案 0 :(得分:11)
我遇到了同样的问题,并使用了该解决方案。
转到SELECT Name, @highest_val:= GREATEST(type1, type2, type3) AS highest_col_value,
CASE @highest_val WHEN type1 THEN 'type1'
WHEN type2 THEN 'type2'
WHEN type3 THEN 'type3'
END AS highest_value_column_name
FROM myTable;
。
将File -> Settings -> Tools -> Terminal
中的值替换为Shell path
。
如果我在cmd.exe "/K" C:\path\to\Anaconda3\Scripts\activate.bat your_environment_name
中安装了Anaconda,并且有一个名为C:\Anaconda3
的环境,那么我的设置将如下所示:
答案 1 :(得分:9)
这似乎是一个已知的issue。
答案 2 :(得分:3)
如果有人想知道Linux的设置,请按以下步骤操作。在您的家.pycharmrc
中创建文件dir
。打开文件并添加以下内容
source ~/.bashrc
source ~/anaconda3/bin/activate your_env_name
现在转到Pycharm File > Settings > Tools > Terminal > Shell path
,将您的shell路径替换为/bin/bash --rcfile ~/.pycharmrc
。
现在,当您打开终端时,指定的conda env将激活。
答案 3 :(得分:2)
扩展Darksinge的答案以适应conda> = 4.4和多个环境,如果1)您的conda环境和项目使用相同的名称,并且2)您将项目保留在同一目录中,则可以使用以下解决方法:>
cmd.exe "/K" C:\path\to\Anaconda3\Scripts\activate.bat C:\path\to\Anaconda3 & activate %cd:C:\path\to\project\parent\directory\=%
最后一部分(%cd:C:\path\to\project\parent\directory\=%
)应该从当前工作目录中推断项目名称。例如,我将项目保留在Z:\
中,因此%cd:Z:\=%
返回我的项目名称。您可以在以下网址阅读更多信息:How to replace substrings in windows batch file
答案 4 :(得分:1)
找到了解决方案。问题是我们在开始新项目时一直在Pycharm中创建conda环境。
这是在位置/Users/<username>/.conda/envs/<env-name>
上创建的。
例如/Users/taponidhi/.conda/envs/py38
。
相反,请使用conda create --name py38
从终端创建环境。
这将在/opt/anaconda3/envs/
处创建环境。
此后,在开始新项目时,请从现有环境中选择该环境。一切正常。
答案 5 :(得分:0)
这是我为MacOS或Linux用户提供的解决方案:
首先,将此内容添加到您的summary(dolls)
或~/.bash_profile
中,具体取决于您的外壳。记住在conda初始化后放它:
~/.zshrc
然后转到您的PyCharm设置,转到“工具”->“终端” 在“项目设置”中,将CONDA_ENV = yourenv添加到您的环境变量中
yourenv是您的conda中该特定项目的环境名称
答案 6 :(得分:0)
我正在使用OSX,zshell已成为2020年的默认shell。 我遇到了同样的问题:我的conda环境无法在pycharm终端中正常工作。
File -> Settings -> Tools -> Terminal.
默认外壳程序路径配置为/bin/zsh --login
我在一个单独的OSX终端上进行了测试,该终端以某种方式弄乱了/bin/zsh --login
变量。 $PATH
始终在结尾而不是开头添加conda env路径。因此,由于PATH字符串混乱,默认的python(2.7)始终优先。这个问题与pycharm无关(只是zshell与--login的行为方式),
我从脚本路径中删除了conda activate
部分; --login
才有效(此更改后,我不得不重新启动pycharm!)
答案 7 :(得分:0)
混合了这里的几个答案,我想出了一个 Windows 中 Git Bash 的解决方案:
转到File -> Settings -> Tools -> Terminal
。
将“Shell path”中的值替换为
"C:\Program Files\Git\bin\bash.exe" --login && conda activate myenv
答案 8 :(得分:0)
@echo OFF
:: conda activation path
set conda_activate_path=C:\ProgramData\Anaconda3\Scripts\activate.bat
:: environments for this project on several of different computers
set env_path=C:\Users\GiladEiniKbyLake\.conda\envs\bin
set env_basename=bin
if exist %env_path% (
echo activating env: %env_path%
%conda_activate_path% %env_basename%
) else (
echo cant find path %env_path%
echo activating base interpreter...
%conda_activate_path%
)
cmd.exe "/K" ./env_win10.bat
"C:\Program Files\JetBrains\PyCharm Community Edition 2018.2.4\bin\pycharm64.exe" "D:\workspace\2021wizzi_utils"
您现在必须对在 pycharm 中打开的每个项目执行此操作,因为 pycharm 将在项目的根文件夹中查找“env_win10.bat”。好消息是您需要为每个项目执行一次。建议将其放在“.gitignore”上,并在每个用户的计算机上创建此批处理脚本。如果您确实希望为所有用户组合并上传到 git 怎么办?只需添加更多路径变量。这是我在笔记本电脑和台式机上编写的一个项目示例:
@echo OFF
:: conda activation path
set conda_activate_path=C:\ProgramData\Anaconda3\Scripts\activate.bat
:: environments for this project on several of different computers
set laptop_env_path=C:\Users\gilad\.conda\envs\bin
set laptop_env_basename=bin
set desktop_env_path=C:\Users\GiladEiniKbyLake\.conda\envs\bin
set desktop_env_basename=bin
:: checking if we are on the 1st option
if exist %laptop_env_path% (
echo activating env: %laptop_env_path%
%conda_activate_path% %laptop_env_basename%
) else (
:: checking if we are on the 2st option
if exist %desktop_env_path% (
echo activating env: %desktop_env_path%
%conda_activate_path% %desktop_env_basename%
) else (
:: fail safe - just activate conda base interpreter
echo cant locate any of the paths:
echo %laptop_env_path%
echo %desktop_env_path%
echo activating base interpreter...
%conda_activate_path%
)
)
答案 9 :(得分:-1)
当您像这样默认禁用激活 (base)
环境时,可能会发生这种情况:
conda config --set auto_activate_base false
要解决此问题,请重新激活该功能。
conda config --set auto_activate_base true