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