linux - 我无法从 shell 脚本启动 virtualenv
问题描述
脚本是打开一个新终端并访问一个目录,激活他里面的虚拟环境,然后在那个环境中运行我的服务:
#!/bin/bash
gnome-terminal -- bash -c "cd mydirectory/project && source ~/myenv/bin/activate && python3 run.py runserver; exec bash"
但是当你运行它时,不要激活环境。其他命令有效。
解决方案
您可以创建一个 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
推荐阅读
- html - 无法使用 angular4 中的 PipeTransform 进行反向排序
- powershell - Powershell 出错时恢复
- java - 为什么 Spring-data-jdbc 不保存我的 Car 对象?
- node.js - 批量创建后 Sequelize 不会关闭
- c++ - CLR dll 无法运行托管 DLL,除非它位于 exe 目录(或其子目录)中
- c - 为什么我从递归函数返回的值是错误的
- r - 从另一个矩阵创建矩阵
- java - java.util.Locale 返回它构建时使用的不同语言
- excel - 通过 Win32com 从 Python 到 Excel 的 Bloomberg 公式
- push-notification - 我可以向那些卸载了我的安卓应用程序的用户发送推送通知吗?