it-swarm.com.ru

терминал pyCharm не активирует среду conda

У меня есть среда conda в месте по умолчанию для окон, которое C:\ProgramData\Anaconda2\envs\myenv. Кроме того, как рекомендовано, скрипты и исполняемые файлы conda не находятся в переменной среды %PATH%. Я открыл проект в pycharm и указал интерпретатору python на C:\ProgramData\Anaconda2\envs\myenv\python.exe Кажется, что pycharm хорошо работает со средой в консоль Python, в среде выполнения и в режиме отладки. 

Однако при открытии терминала среда не активируется (я убедился, что флажок для активации среды установлен). Для ясности - когда я делаю то же самое с virtualenv, терминал активирует среду без проблем.

Вот несколько вещей, которые я пытался и не работал:

  • Скопировал скрипт активации из папки anaconda в папку среды
  • Скопировал скрипт активации из папки anaconda в папку Scripts в среде
  • Скопировал скрипт активации из virtualenv (такой же, для которого активирована среда)
  • Добавлены папки anaconda в путь

Ничто из этого не сработало. Я могу без проблем активировать среду вручную после открытия терминала, но как мне сделать это автоматически?

8
pipefish

Кажется, это известная проблема

7
void

Я столкнулся с той же проблемой и использовал это решение.

  1. Перейти к File -> Settings -> Tools -> Terminal.

  2. Замените значение в Shell path на cmd.exe "/K" C:\path\to\Anaconda3\Scripts\activate.bat your_environment_name.

Если бы я установил Anaconda в C:\Anaconda3 и имел среду с именем myenv, мои настройки выглядели бы так:

 Terminal Tool Application settings

9
darksinge

Если кто-то интересуется настройками для 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 активируется. 

2
Muhammad Hannan

Расширяя ответ 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:\=% возвращает имя моего проекта. Вы можете прочитать больше на: Как заменить подстроки в пакетном файле Windows

1
mkocisak