【问题标题】:I can't start a virtualenv from a shell script我无法从 shell 脚本启动 virtualenv
【发布时间】:2020-02-18 20:40:10
【问题描述】:

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

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

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

【问题讨论】:

  • 欢迎来到 SO!您认为显示“激活”脚本的内容会有所帮助吗?
  • @Twonky 如果你在本地机器上创建一个 virtualenv,你可以看到内容。
  • exec bash 将启动一个尚未获取 virtualenv 的新 shell 进程。

标签: linux bash shell ubuntu


【解决方案1】:

您可以创建一个 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

【讨论】:

  • 那种。我想访问一个目录,激活虚拟环境,然后在该环境中运行我的服务。我修改了问题以更好地解释。对不起我的错误。
猜你喜欢
  • 2011-11-26
  • 1970-01-01
  • 1970-01-01
  • 2014-03-12
  • 1970-01-01
  • 2020-07-21
  • 1970-01-01
  • 2019-03-16
  • 1970-01-01
相关资源
最近更新 更多