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

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

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

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

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

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

Ответ 2

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

  1. Перейдите в File → Settings → Tools → Terminal.

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

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

Terminal Tool Application settings

Ответ 3

Если кто-то интересуется настройками для Linux, вот как это сделать. Создайте файл .pycharmrc в домашней dir. Откройте файл и добавьте следующее

source ~/.bashrc
source ~/anaconda3/bin/activate your_env_name 

Теперь перейдите в " File > Settings > Tools > Terminal > Shell path Pycharm" File > Settings > Tools > Terminal > Shell path оболочке", замените путь к оболочке на /bin/bash --rcfile ~/.pycharmrc.

Теперь при открытии вашего терминала указанный conda env активируется.

Ответ 4

Если развернуть ответ 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

Ответ 5

Вот мое решение для пользователей MacOS или Linux:

Во-первых, добавьте это в ваш ~/.bash_profile или ~/.zshrc зависит от вашей оболочки. Не забудьте поставить его после инициализации conda:

##### Activate conda env ######
[[ -n $CONDA_ENV ]] && conda activate $CONDA_ENV

А затем перейдите в настройки PyCharm, перейдите в Инструменты → Терминал. В настройках проекта добавьте CONDA_ENV = yourenv в переменные среды.

yourenv - это имя env от вашей конды для этого конкретного проекта