我可以通过输入从其文件夹中激活我的 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
。这作为配置得到支持。这是一个开源且积极维护的项目,我强烈推荐它。