Neil Asked: 2019-08-10 08:06:59 +0800 CST2019-08-10 08:06:59 +0800 CST 2019-08-10 08:06:59 +0800 CST 用于获取 Python 虚拟环境的 Bash 脚本 772 加载 python 虚拟环境时,我需要运行: source venv/bin/activate 我想要这个命令的别名,因为我必须一直运行它。所以我将以下内容放在一个名为“load.sh”的文件中: #!/bin/bash source venv/bin/activate 然后跑了 chmod +x load.sh 但是,现在当我运行 ./load.sh 时没有效果。我怀疑“来源”这个词可能是问题所在。但我不知道。有任何想法吗?谢谢。 python bash 2 个回答 Voted Best Answer waltinator 2019-08-10T08:18:45+08:002019-08-10T08:18:45+08:00 这些source venv/bin/activate命令修改了load.sh的环境。当load.sh结束时,这个环境就被遗忘了。此外,它仅在您位于$HOME目录中时才有效。 我认为您真正想要的是添加到您的~/.bashrc: alias venv="source $HOME/venv/bin/activate" 然后 venv 会成功的。 singrium 2019-08-10T08:45:25+08:002019-08-10T08:45:25+08:00 另一种选择是使用 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.
这些
source venv/bin/activate
命令修改了load.sh
的环境。当load.sh
结束时,这个环境就被遗忘了。此外,它仅在您位于$HOME
目录中时才有效。我认为您真正想要的是添加到您的
~/.bashrc
:然后
会成功的。
另一种选择是使用 virtualenvwrapper。
您可以使用
pip install virtualenvwrapper
(pip3
用于 Python3)安装它。之后,将以下行添加到
.bashrc
文件末尾:保存并退出,然后您必须
.bashrc
通过运行重新加载source ~/.bashrc
(仅一次)。之后,每当你想创建一个环境时,运行
mkvirtualenv <your_env_name>
.如果您想在环境上工作或在环境之间切换,请运行
workon <env_name>
.如果要停用环境,请运行
deactivate
.