Ответ 1
Это кажется известной проблемой.
У меня есть среда conda по умолчанию для окон, которая C:\ProgramData\Anaconda2\envs\myenv
. Кроме того, как рекомендовано, скрипты и исполняемые файлы conda не входят в переменную среды %PATH%
.
Я открыл проект в pycharm и указал интерпретатору python на
C:\ProgramData\Anaconda2\envs\myenv\python.exe
и pycharm, похоже, хорошо работает с средой в консоли python, в среде выполнения и в режиме отладки.
Однако при открытии терминала среда не активирована (я убедился, что установлен флажок для активации среды). Чтобы быть ясным - когда я делаю то же самое с virtualenv, терминал действительно активирует среду без проблем.
Вот несколько вещей, которые я пробовал и не работал:
Scripts
в средеНичего из этого не получилось. Я могу вручную активировать среду без проблем после открытия терминала, но как это сделать автоматически?
Это кажется известной проблемой.
Я столкнулся с той же проблемой и использовал это решение.
Перейдите в File → Settings → Tools → Terminal
.
Замените значение в 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
, мои настройки выглядели бы так:
Если кто-то интересуется настройками для 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 активируется.
Если развернуть ответ 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
Вот мое решение для пользователей MacOS или Linux:
Во-первых, добавьте это в ваш ~/.bash_profile
или ~/.zshrc
зависит от вашей оболочки. Не забудьте поставить его после инициализации conda:
##### Activate conda env ######
[[ -n $CONDA_ENV ]] && conda activate $CONDA_ENV
А затем перейдите в настройки PyCharm, перейдите в Инструменты → Терминал. В настройках проекта добавьте CONDA_ENV = yourenv в переменные среды.
yourenv - это имя env от вашей конды для этого конкретного проекта