使用别名激活虚拟环境

使用别名激活虚拟环境

我可以通过输入从其文件夹中激活我的 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 未激活,并且虽然列出了项目文件夹,但 shell 不在主项目文件夹中。我希望得到一些指导。谢谢。

注:我收到了回答在另一个论坛上。 Shell 脚本不会更改调用它们的环境;而是使用 .bashrc 内的 shell 函数。

shazam () {
  source ~/path-to-virtual-environment/bin/activate
  cd ~/path-to-master-project-folder
  ls -a
}

答案1

别名可以有命令列表:

alias shazm='source ~/path-to-virtual-environment/bin/activate; cd ~/path-to-master-project-folder; ls -a'

答案2

这是virtualenvwrapper 包,以及一套强大、互补的功能集。

要使用 virtualenvwrapper 创建一个名为的虚拟环境shazam,只需:

mkvirtualenv shazam

要激活它:

workon shazam

要停用它,就像任何活动的虚拟环境一样:

deactivate

使用 virtualenvwrapper 可以实现许多用例和用户配置。例如,我更喜欢将所有虚拟环境保存在一个目录中~/.envs。这作为配置得到支持。这是一个开源且积极维护的项目,我强烈推荐它。

相关内容