Запустите скрипт Python из сценария оболочки с помощью Virtualenv и как модуль с -mPython

Программы на Python
Anonymous
Запустите скрипт Python из сценария оболочки с помощью Virtualenv и как модуль с -m

Сообщение Anonymous »

Как запустить сценарий Python из сценария оболочки с условиями:
  • он использует вспомогательный сценарий из параллельной папки
  • он использует виртуальную среду для своей подпапки
Моя структура файла/папки выглядит следующим образом:

Код: Выделить всё

project_folder
-subfolder_prog_1
-prog1.py
-subfolder_prog_2
-prog2.py
-helpers
-helper.py
Каждая из подпапок_prog_x использует свою собственную виртуальную среду (pipenv).
prog1.py и prog2.py используют helper.py следующим образом:< /p>

Код: Выделить всё

from helpers.helper import helpful_function
Теперь я знаю, что могу активировать среду из оболочки следующим образом:

Код: Выделить всё

cd ~/git/project_folder/subfolder_prog_1
pipenv run python prog1.py
Я также знаю, что если я хочу использовать импорт из параллельной папки, мне нужно запустить скрипт как модуль из родительской папки следующим образом:

Код: Выделить всё

cd ~/git/project_folder/
python -m subfolder_prog_1.prog1
Но как мне совместить это?
Я пробовал

Код: Выделить всё

cd ~/git/project_folder/
pipenv run python -m subfolder_prog_1.prog1
но у меня возникает ошибка ModuleNotFoundError: нет модуля с именем «subfolder_prog_1».
Все подсказки приветствуются!

Подробнее здесь: https://stackoverflow.com/questions/784 ... ule-with-m

Вернуться в «Python»