bash - 如何在 shell 脚本中的 virtualenv 中运行命令

标签 bash shell pipenv

我用 pipenv 开发了我自己的基于 django 的项目。
几天前,我创建了简单的 bash 脚本来加速无聊的东西。

我一直在运行终端,转到同一目录并执行 pipenv shell , 之后我在 VScode 中打开项目 code .并开始 python manage.py runserver用于查看我的进度。

我尝试创建执行相同操作但简化的脚本,只需运行 webber开始吧(它来自/usr/local/bin)。

但是我有一个问题,我不能保留我的 pipenv shell运行和执行 python manage.py runserver同时。我的意思是当我停止 Ctrl+C python 服务器时,我没有收到我的虚拟环境(这发生在 bash 脚本中~通常工作正常)。

但是,服务器正在启动,因此它是虚拟环境。
我试过 pipenv run命令,但它根本没有进入虚拟环境。

脚本:

#!/bin/bash
cd ~/Documents/myprojects/Webber
code .
source $(pipenv --venv)/bin/activate
python manage.py runserver

我的问题是:如何在 shell 脚本中的 virtualenv 中运行命令并接收此子shell?

最佳答案

您可以使用 virtualenv 文件夹的完整路径而不是 pipenv命令。例如,如果您在名为 venv-webber 的主目录中创建了虚拟环境。 :
source $HOME/venv-webber/bin/activate

关于bash - 如何在 shell 脚本中的 virtualenv 中运行命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54164871/

相关文章:

linux - 如何永久存储文本模式浏览器的代理信息(例如链接)

python - 将 Atom Hydrogen 连接到 Pipenv Shell 中的内核

python - Pipenv:即使我安装了软件包,为什么会在自动创建锁定文件时运行 Pipenv Lock

file - 如果第一个文件/bash 脚本中存在,则按键合并两个文件

bash - "Invalid numeric literal"使用 jq 和 openai api

linux - 将变量值插入 : separator 列

python-3.x - 使用 pipenv 创建 virtualenv 时设置 python 版本

python - 如何检查脚本是从终端调用还是从另一个脚本调用

linux - 在 shell 脚本中通过 fork() 父进程创建子进程

windows - 编写可以从命令行通过管道输入的 D 脚本