我可以输入. bin/activate
从其文件夹中激活我的python虚拟环境。我想改为从激活环境的主文件夹(或其他任何地方)输入单个单词别名,例如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不在主项目文件夹中。我会很感激一些指导。感谢。
答案 0 :(得分:1)
在~/.virtualenvs
中重新创建所有环境并安装virtualenvwrapper
。激活env的命令是workon shazam
。支持命令行完成。
现在关于您的问题:您已尝试在shell脚本中激活环境。这不起作用,因为shell脚本与另一个shell一起运行并且env激活改变了它们的环境,而不是当前的环境。即,环境被短暂激活,但随后在脚本结束时,新shell退出并且环境已停用。
有两种方法可以解决这个问题。
使用别名或shell函数代替脚本 - 它们是更改当前shell环境的唯一方法。
在脚本末尾运行交互式shell(exec $SHELL
)。它继承了激活的环境并为您提供命令提示符。要取消激活,只需退出shell(exit
或 [Ctrl] + [D] 。)。