如何在Shell脚本的virtualenv内部运行命令

时间:2019-01-12 23:37:09

标签: 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?

1 个答案:

答案 0 :(得分:1)

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

import { EmojiModule } from '@ctrl/ngx-emoji-mart/ngx-emoji'; @NgModule({ imports: [ ..., EmojiModule ], ... })