Псевдоним может иметь список команд:
alias shazm='source ~/path-to-virtual-environment/bin/activate; cd ~/path-to-master-project-folder; ls -a'
Я могу активировать свою виртуальную среду 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 }
Псевдоним может иметь список команд:
alias shazm='source ~/path-to-virtual-environment/bin/activate; cd ~/path-to-master-project-folder; ls -a'
Это основная особенность пакета virtualenvwrapper вместе с надежным, дополнительным набором функций.
Чтобы создать имя shazam
virtualenv с помощью virtualenvwrapper, просто:
mkvirtualenv shazam
Чтобы активировать его:
workon shazam
Чтобы деактивировать его, как и любой активный virtualenv:
deactivate
Многие сценарии использования и пользовательские конфигурации возможны при использовании virtualenvwrapper. Например, я предпочитаю хранить все мои virtualenvs в одном каталоге ~/.envs
. Это поддерживается как конфигурация. Это проект с открытым исходным кодом и активно поддерживаемый, я не могу рекомендовать его достаточно сильно.