Я установил PyCharm, создал свой virtualenv (либо с помощью команды virtual env, либо непосредственно в PyCharm) и активировал эту среду в качестве своего интерпретатора. Все работает нормально.
Однако, если я открываю терминал с помощью «Инструменты, открыть терминал», в приглашении оболочки не используется виртуальный env; Мне все еще нужно использовать source ~/envs/someenv/bin/activate
этот терминал, чтобы активировать его.
Другой способ - активировать среду в оболочке и запустить PyCharm из этой среды. Это «работоспособно», но довольно некрасиво и означает, что у меня возникают серьезные проблемы, если я переключаю среду или проекты с PyCharm: теперь я использую совершенно неправильную среду.
Есть ли другой, гораздо более простой способ, чтобы «Инструменты, открытый терминал» автоматически активировали виртуальную среду?
~/pycharmenv/bin/terminalactivate
звучит как хороший вариант..pycharmrc
файл в домашнюю папку проекта, чтобы у меня был отдельный файл для каждого проекта. В правильно настроенном проекте нет необходимости указывать абсолютный путь к.pycharmrc
файлу.Обновить:
Предпочтения в Настройках (Предпочтения) | Инструменты | Терминал глобальный.
Если вы используете venv для каждого проекта, не забудьте использовать текущую переменную пути и имя venv по умолчанию:
Для пользователей Windows: при использовании PyCharm с виртуальной средой вы можете использовать
/K
параметр дляcmd.exe
автоматической установки виртуальной среды.PyCharm 3 или 4:
Settings
,Terminal
,Default shell
и добавить/K <path-to-your-activate.bat>
.PyCharm 5:
Settings
,Tools
,Terminal
, и добавить/K <path-to-your-activate.bat>
кShell path
.PyCharm 2016,1 или 2016,2:
Settings
,Tools
,Terminal
, и добавить""/K <path-to-your-activate.bat>""
кShell path
и добавить (ум кавычки). Также добавьте кавычки вокруг cmd.exe, в результате получится:"cmd.exe" /k ""C:\mypath\my-venv\Scripts\activate.bat""
источник
%CD%
это текущий рабочий каталог, см. Команду оболочки Windows, чтобы получить полный путь к текущему каталогу?Пользователи Windows, использующие PyCharm и виртуальную среду под Windows, могут использовать параметр / k для cmd.exe для автоматической установки виртуальной среды.
Зайдите в Настройки, Терминал, Оболочка по умолчанию и добавьте
/K <path-to-your-activate.bat>
.У меня нет репутации, чтобы комментировать предыдущий ответ, поэтому размещаю исправленную версию. Это действительно экономит много времени.
Обновить:
Примечание: Pycharm теперь поддерживает виртуальные среды напрямую, и мне кажется, что это хорошо работает для меня, поэтому мой обходной путь больше не нужен.
источник
На основе ответов Питера и экспериментов я нашел хорошее «общее решение», которое решает следующие проблемы:
Перетащите этот сценарий куда-нибудь в каталог bin. Например, ~ / bin / pycharmactivate
Затем установите путь к оболочке PyCharm следующим образом:
источник
if [ -r "/etc/profile" ] ; then . /etc/profile ; fi if [ -r "~/.bash_profile" ] ; then . ~/.bash_profile elif [ -r "~/.bash_login" ] ; then . ~/.bash_login elif [ -r "~/.profile" ] ; then . ~/.profile fi source ~/learnp/project1/venv/bin/activate
PyCharm 4 теперь имеет virtualenvs, интегрированные в IDE. При выборе интерпретатора проекта вы можете создать, добавить или выбрать файл virtualenv. Они добавили «Консоль Python», которая работает в настроенном интерпретаторе проекта.
Больше информации здесь.
источник
source /path/to/venv/bin/activate
вручную в терминале.Спасибо, Крис, ваш сценарий работал для некоторых проектов, но не для всех на моей машине. Вот сценарий, который я написал, и я надеюсь, что кто-нибудь сочтет его полезным.
источник
source /etc/profile
в начало файла ~ / .pycharmrc (на Mac Yosemite) 2) В Pycharm отредактируйте Настройки> Инструменты> Терминал> Путь к оболочке до "/ bin / bash --rcfile ~ / .pycharmrc"Я просмотрел все ответы выше, но ни один из них не кажется мне достаточно элегантным. В Pycharm 2017.1.3 (на моем компьютере) самый простой способ - открыть
Settings->Tools->Terminal
и проверитьShell integration
иActivate virtualenv
параметры.источник
Если вы используете версию для Windows, это довольно просто. Если у вас уже есть виртуальная среда, просто перейдите в ее папку и найдите ее
activate.bat
внутриScripts
. скопируйте его полный путь и вставьте в терминал pycharm, затем нажмите,Enter
и все готово!Если вам нужно создать новую виртуальную среду:
Перейдите в файлы> настройки, затем найдите
project interpreter
, откройте его, нажмите кнопку с шестеренкой и создайте среду, где хотите, а затем следуйте первому абзацу.источник
activate.bat
для каждого из них?activate.bat
файлы. если вам нравится ответ, не стесняйтесь голосовать;)Scripts
папке нет. Также Pycharm жалуется, чтоactivate.bat
это недопустимый SDK для pythonactivate
внутри нее командный файл. или, если это возможно, просто создайте новую среду.На Mac это PyCharm => Настройки ... => Инструменты => Терминал => Активировать virtualenv , который должен быть включен по умолчанию.
источник
Я только что добавил скрипт с именем pycharmactivate в свой домашний каталог. Установите значение PyCharm (4.0.1) Файл> Настройки> Инструменты> Терминал> Путь к оболочке в / bin / bash --rcfile ~ / pycharmactivate. Возможно, это не лучшее решение, если у вас разные каталоги / имена проектов и virtualenv, но оно работает для меня. Этот сценарий содержит следующие 3 строки и предполагает, что ваш virtualenv имеет то же имя, что и каталог вашего проекта.
источник
Следуя ответу Питера, вот версия
.pycharmrc
файла для Mac :Курица
источник
У меня есть решение, которое сработало на моей машине с Windows 7.
Я считаю, что терминал PyCharm является результатом его работы
cmd.exe
, который загружаетPATH
переменную Windows и использует ту версию Python, которую он находит первой в нейPATH
. Чтобы изменить эту переменную, щелкните правой кнопкой мыши « Мой компьютер» -> « Свойства» -> « Дополнительные параметры системы» -> вкладка « Дополнительно » -> « Переменные среды» . В разделе Системные переменные выберите и отредактируйтеPATH
переменную.Вот соответствующая часть моего
PATH
перед редактированием:... и после редактирования
PATH
(сейчас всего 3 строки):Чтобы проверить это, откройте новый терминал Windows ( Пуск -> введите
cmd
и нажмите Enter) и посмотрите, использует ли он вашу виртуальную среду. Если это сработает , перезапустите PyCharm, а затем проверьте его в терминале PyCharm.источник
вот что я делаю: создайте файл activate_env.bat (windows, возможно .sh в linux) в папке с исходным кодом:
и еще один файл deactivate_env.bat:
Каждый раз, когда открываете окно терминала, просто запускайте bat-файл, чтобы активировать / деактивировать virtualenv, вы останетесь на пути к исходному коду, нет необходимости менять путь на и обратно.
источник
Если у вас Pycharm 2016.1.4v и выше, вы должны использовать
"default path" /K "<path-to-your-activate.bat>"
кавычки не забывайтеисточник
Если вы переместили свой проект в другой каталог, вы можете установить новый путь через диалог настроек. Затем вам нужно установить этот Project Interpreter в диалоговом окне Edit Configuration.
источник
Другой альтернативой является использование virtualenvwrapper для управления виртуальными средами. Похоже, что после активации скрипта virtualenvwrapper pycharm может использовать его, и тогда простая
workon
команда будет доступна из консоли pycharm и представит вам доступные виртуальные среды:источник
Этот метод должен работать с произвольными виртуальными средами для каждого проекта, и он не делает предположений о вашей среде, поскольку использует созданные вами перехватчики.
Ты пишешь:
Учитывая, что текущая последняя версия PyCharm (Сообщество 2016.1) не позволяет настраивать параметры терминала для каждого проекта, начиная со сценария, который вызывает конкретный хук проекта. Это мой
~/.pycharmrc
:Если вы используете что-то другое, кроме Bash, вызовите собственный
.bash_profile
эквивалент, если хотите.Теперь настройте PyCharm «Инструменты -> Терминал -> Путь к оболочке» для вызова этого скрипта, например:
/bin/bash --rcfile ~/.pycharmrc
Наконец, для каждого проекта PyCharm вам необходимо активировать определенную виртуальную среду, создайте файл в корне проекта PyCharm.
.pycharm/term-activate
. Это ваш крючок, и он просто определит имя желаемой виртуальной среды для вашего проекта PyCharm:Конечно, вы можете расширить свои хуки чем угодно, что сочтете полезным в терминальной среде вашего конкретного проекта PyCharm.
источник
Для виртуальных сред conda в Windows убедитесь, что ваш командный файл НЕ назван,
activate.bat
поскольку это вызовет конфликт с командой condaactivate
, что приведет к рекурсивному вызову командного файла.Для меня работает следующий путь к оболочке:
И в файле activate-env.bat:
источник
Мне нужна была отдельная виртуальная среда для каждого проекта, и мне было наплевать, чтобы для этого были дополнительные файлы. Решение, которое вам нужно сделать только один раз и которое работает для всех проектов, заключается в добавлении следующего в ваш
.bashrc
или.bash_profile
:Это проверяет, существует ли виртуальная среда, в которой открывается терминал, и если да, то активирует его (и, конечно, можно использовать другие относительные пути). Настройки терминала PyCharm можно оставить по умолчанию.
источник
PyCharm 4.5.4
Не знаю почему, но у меня это не работает. PyCharm выводит ошибку.
cmd.exe /K "<path-to-your-activate.bat>"
Он работает, но создает одинаковые виртуальные серверы для каждого проекта, даже если в этом нет необходимости.Эта квитанция рабочая! Но строка
/env_yourenvlocate/scripts/activate.bat
должна содержать кавычки, как это"Full_path_to_your_env_locate\scripts\activate.bat"
!Деактивировать virtualenv очень просто - наберите в терминале deactivate
источник
Решение для WSL (Ubuntu в Windows)
Если вы используете WSL (Ubuntu в Windows), вы также можете открыть bash в качестве терминала в pycharm и активировать linux virtualenv.
Используйте
.pycharmrc
файл, как описано в ответе Питера Гибсона; Добавьте.pycharmrc
файл в свой домашний каталог со следующим содержимым:В Pycharm File> Settings> Tools> Terminal добавьте следующий «Путь к оболочке»:
Виртуальный проект для конкретного проекта
Путь к вашему virtualenv
.pycharmrc
не обязательно должен быть абсолютным. Вы можете установить virtualenv для конкретного проекта, указав относительный путь из каталога вашего проекта. Мой virtualenv всегда находится в папке venv в каталоге моего проекта, поэтому мой.pycharmrc
файл выглядит так:БОНУС: автоматически открывать туннель ssh для подключения virtualenv в качестве интерпретатора проекта
Добавьте в свой
.pycharmrc
файл следующее:Это проверяет, открыт ли уже туннель ssh, и открывает его в противном случае. В Файл -> Настройки -> Проект -> Интерпретатор проекта в Pycharm добавьте новый удаленный интерпретатор со следующей конфигурацией:
Теперь, когда вы открываете свой проект, ваш bash автоматически запускается в вашем virtualenv, открывает туннель ssh, а pycharm подключает virtualenv как удаленный интерпретатор.
предупреждение: последнее обновление в Windows автоматически запускает службу SshBroker и SshProxy при запуске. Они блокируют туннель ssh от linux до windows. Вы можете остановить эти службы в Диспетчере задач -> Службы, после чего все снова заработает.
источник
Один из вариантов, который у вас есть, когда вы входите в терминал> Run> Debug> Edit Configurations
выберите соответствующую среду conda. Также, когда вы создаете новый проект - он просит настроить это место.
источник