我用 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/