加载 Python 虚拟环境时我需要运行:
source venv/bin/activate
我想要给这个命令起一个别名,因为我必须一直运行它。所以我把以下内容放在一个名为“load.sh”的文件中:
#!/bin/bash
source venv/bin/activate
然后跑了
chmod +x load.sh
但是,现在当我运行 ./load.sh 时没有任何效果。我的怀疑可能是“来源”这个词有问题。但我不知道。有什么想法吗?谢谢。
答案1
该source venv/bin/activate
命令会修改load.sh
的环境。load.sh
结束时,该环境将被遗忘。此外,只有当您在目录中时,它才会起作用$HOME
。
我认为您真正想要的是添加到您的~/.bashrc
:
alias venv="source $HOME/venv/bin/activate"
然后
venv
就可以了。
答案2
另一种选择是使用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
(仅一次)。
此后,每当您想要创建环境时,请运行mkvirtualenv <your_env_name>
。
如果您想在环境上工作或在环境之间切换,请运行workon <env_name>
。
如果您想停用环境,请运行deactivate
。