Активируйте virtualenv используя псевдоним
Я могу активировать свою виртуальную среду Python из ее папки, введя . bin/activate
, Вместо этого я хотел бы ввести псевдоним одного слова, например shazam
из домашней папки (или где-либо еще), которая активирует среду, изменяет папку моего главного проекта и перечисляет мои проекты.
Я попытался создать псевдоним в.bashrc, который указывает на файл.sh, содержащий:
cd ~/path-to-virtual-environment
. bin/activate
cd ~/path-to-master-project-folder
ls -a
Я получаю ошибку "Отказано в разрешении", поэтому я запустил chmod u+x <script file>
, Сценарий теперь выполняется, но VE не активируется, и пока папки проекта указаны в списке, оболочка отсутствует в папке главного проекта. Буду признателен за некоторые рекомендации. Благодарю.
ПРИМЕЧАНИЕ: я получил ОТВЕТ на другом форуме. Сценарии оболочки не изменяют среду, из которой они вызваны; вместо этого используйте функцию оболочки внутри.bashrc.
shazam () {
source ~/path-to-virtual-environment/bin/activate
cd ~/path-to-master-project-folder
ls -a
}
2 ответа
Псевдоним может иметь список команд:
alias shazm='source ~/path-to-virtual-environment/bin/activate; cd ~/path-to-master-project-folder; ls -a'
Это основная особенность пакета virtualenvwrapper вместе с надежным, дополнительным набором функций.
Создать виртуалку по имени shazam
используя virtualenvwrapper, просто:
mkvirtualenv shazam
Чтобы активировать это:
workon shazam
Чтобы деактивировать его, как и любой активный virtualenv:
deactivate
Многие сценарии использования и пользовательские конфигурации возможны при использовании virtualenvwrapper. Например, я предпочитаю хранить все мои virtualenvs в одном каталоге, ~/.envs
, Это поддерживается как конфигурация. Это проект с открытым исходным кодом и активно поддерживаемый, я не могу рекомендовать его достаточно сильно.