Решение для WSL (Ubuntu в Windows)
Если вы используете WSL (Ubuntu в Windows), вы также можете открыть bash в качестве терминала в pycharm и активировать linux virtualenv.
Используйте .pycharmrc
файл, как описано в ответе Питера Гибсона; Добавьте .pycharmrc
файл в свой домашний каталог со следующим содержимым:
source ~/.bashrc
source ~/path_to_virtualenv/bin/activate
В Pycharm File> Settings> Tools> Terminal добавьте следующий «Путь к оболочке»:
"C:/Windows/system32/bash.exe" -c "bash --rcfile ~/.pycharmrc"
Виртуальный проект для конкретного проекта
Путь к вашему virtualenv .pycharmrc
не обязательно должен быть абсолютным. Вы можете установить virtualenv для конкретного проекта, указав относительный путь из каталога вашего проекта. Мой virtualenv всегда находится в папке venv в каталоге моего проекта, поэтому мой .pycharmrc
файл выглядит так:
источник ~ / .bashrc
источник ~ / pycharmvenv / bin / активировать абсолютный путь
источник ./venv/bin/activate #relative path
БОНУС: автоматически открывать туннель ssh для подключения virtualenv в качестве интерпретатора проекта
Добавьте в свой .pycharmrc
файл следующее:
if [ $(ps -aux | grep -c 'ssh') -lt 2 ]; then
sudo service ssh start
fi
Это проверяет, открыт ли уже туннель ssh, и открывает его в противном случае. В Файл -> Настройки -> Проект -> Интерпретатор проекта в Pycharm добавьте новый удаленный интерпретатор со следующей конфигурацией:
+ -------------------------- + ---------------------- ----------- + ------- + ---- +
| Имя: | <Имя переводчика> | | |
| Выбрать | «Учетные данные SSH» | | |
| Хост: | 127.0.0.1 | Порт: | 22 |
| Пользователь: | <Имя пользователя Linux> | | |
| Тип аутентификации: | «Пароль» | | |
| Пароль: | <Пароль Linux> | | |
| Путь к интерпретатору Python: | <Путь к вашей виртуальной машине в Linux> | | |
| Путь к помощникам Python: | <Установить автоматически> | | |
+ -------------------------- + ---------------------- ----------- + ------- + ---- +
Теперь, когда вы открываете свой проект, ваш bash автоматически запускается в вашем virtualenv, открывает туннель ssh, а pycharm подключает virtualenv как удаленный интерпретатор.
предупреждение: последнее обновление в Windows автоматически запускает службу SshBroker и SshProxy при запуске. Они блокируют туннель ssh от linux до windows. Вы можете остановить эти службы в Диспетчере задач -> Службы, после чего все снова заработает.
~/pycharmenv/bin/terminalactivate
звучит как хороший вариант.