首页 > 解决方案 > 我无法从 shell 脚本启动 virtualenv

问题描述

脚本是打开一个新终端并访问一个目录,激活他里面的虚拟环境,然后在那个环境中运行我的服务:

#!/bin/bash
gnome-terminal -- bash -c "cd mydirectory/project && source ~/myenv/bin/activate && python3 run.py runserver; exec bash"

但是当你运行它时,不要激活环境。其他命令有效。

标签: linuxbashshellubuntu

解决方案


您可以创建一个 shell 文件 ~/mydirectory/project/runserver.sh 为:

cd $HOME/mydirectory/project
source ~/myenv/bin/activate
python3 run.py runserver

然后运行:

gnome-terminal -- bash --rcfile ~/mydirectory/project/runserver.sh

推荐阅读