При загрузке виртуальной среды Python я должен работать:
source venv/bin/activate
Я хочу псевдоним для этой команды, потому что я должен выполнить все это время. Таким образом, я поместил следующее в файл, названный "load.sh":
#!/bin/bash
source venv/bin/activate
И работал
chmod +x load.sh
Однако теперь, когда я выполняю./load.sh нет никакого эффекта. Мое подозрение - то, что слово "источник" может быть проблемой. Но я не знаю. Какие-либо идеи?Спасибо.
source venv/bin/activate
команды изменяют load.sh
среда. Когда load.sh
концы, об этой среде забывают. Кроме того, это будет только работать, если Вы будете в $HOME
каталог.
Я думаю, что Вы действительно хотите, должен добавить к Вашему ~/.bashrc
:
alias venv="source $HOME/venv/bin/activate"
затем
venv
добьется цели.
Другая альтернатива использует virtualenvwrapper.
Можно установить его использование pip install virtualenvwrapper
(используйте pip3
для Python3).
После этого добавьте следующие строки в конец .bashrc
файл:
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source ~/.local/bin/virtualenvwrapper.sh
export WORKON_HOME=~/.virtualenvs
export PIP_VIRTUALENV_BASE=~/.virtualenvs
export PIP3_VIRTUALENV_BASE=~/.virtualenvs
Сохраните и выйдите затем, необходимо перезагрузить .bashrc
путем выполнения source ~/.bashrc
(просто на этот раз).
После этого, каждый раз, когда Вы хотите создать ENV, работать mkvirtualenv <your_env_name>
.
И если Вы хотите работать над ENV или переключиться между envs, работать workon <env_name>
.
Если Вы хотите деактивировать ENV, работать deactivate
.