Как я могу запустить команду внутри virtualenv в сценарии оболочки - PullRequest
0 голосов
/ 13 января 2019

Я разрабатываю свой собственный проект на основе django с помощью pipenv. Пару дней назад я создал простой bash-скрипт для ускорения скучных вещей.

Все время я запускаю терминал, захожу в один и тот же каталог и выполняю pipenv shell, после этого я открываю проект в VScode code . и запускаю python manage.py runserver для просмотра моего прогресса.

Я пытаюсь создать скрипт, который делает то же самое, но упрощенно, просто запустите webber и здесь (это происходит из /usr/local/bin).

Но у меня есть одна из этих проблем, я не могу продолжать работу pipenv shell и одновременно выполнять python manage.py runserver. Я имею в виду, что когда я останавливаю Python-сервер Ctrl + C, я не получаю свою виртуальную среду (это происходит в bash-скрипте ~ обычно нормально работает).

Однако сервер запускается, поэтому это виртуальная среда. Я попытался с помощью команды pipenv run, но она вообще не попадает в виртуальную среду.

Сценарий:

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

Мой вопрос: Как мне запустить команду в virtualenv в сценарии оболочки и получить эту подоболочку?

1 Ответ

0 голосов
/ 15 января 2019

вы можете использовать полный путь к папке virtualenv вместо команды pipenv. Например, если вы создали виртуальную среду в своем домашнем каталоге с именем venv-webber:

source $HOME/venv-webber/bin/activate

...