Ситуация: я пытаюсь открыть репо, который у меня есть, через приложение flask - оно все хранится на одном сервере linux. Приложение flask находится в папке с именем var
, которая находится на том же уровне, что и home
. У меня есть репозиторий в Documents
, где я создал виртуальную среду, содержащую все необходимые библиотеки, и когда я запускаю сценарий оболочки в этом репо, он работает правильно.
Проблема: Когда я пытаюсь запустить сценарий оболочки Из моего Python скрипта в приложении flask я использую следующий код:
cd /home/ubuntu/Documents/my_repo \
source my_env/bin/activate \
th code/my_script.lua
python code/my_script2.py
Когда я выполняю это в my_repo
, это работает без проблем и генерирует желаемые результаты. Однако, когда я пытаюсь вызвать это из моего flask приложения, он жалуется, что мне не хватает модулей. Я знаю, что модули есть, потому что он работает из папки, но он не может найти модули. Подходит следующее:
Traceback (most recent call last):
File "code/prediction_script.py", line 3, in <module>
from model import G_NET, D_NET64, D_NET128, D_NET256, D_NET512, D_NET1024, INCEPTION_V3
File "/home/ubuntu/Documents/my_repo/code/model.py", line 2, in <module>
import torch
ImportError: No module named torch
, где code
- папка в my_repo
Когда я получаю текущий рабочий каталог при запуске моего скрипта Python, он выводит следующее: /home/ubuntu/Documents/my_repo
Вопрос: Я пытался убедиться, что я нахожусь в рабочем каталоге репозитория, также изменив каталог перед доступом ко второму сценарию, но в нем по-прежнему присутствует та же ошибка отсутствующего модуля. Что я могу изменить, чтобы найти правильные библиотеки?