У меня есть приложение Angular - Flask, которое я пытаюсь Dockerize. Одним из используемых Python файлов является файл с именем trial.py . Этот файл использует модуль с именем _trial.pyd . Когда я запускаю проект на локальном все работает нормально. Однако, когда я выполняю dockerize, используя следующий код, и запускаю, он выдает ошибку «Module _trial not found».
FROM node:latest as node
COPY . /APP
COPY package.json /APP/package.json
WORKDIR /APP
RUN npm install
RUN npm install -g @angular/cli@7.3.9
CMD ng build --base-href /static/
FROM python:3.6
WORKDIR /root/
COPY --from=0 /APP/ .
RUN pip install -r requirements.txt
EXPOSE 5000
ENTRYPOINT ["python"]
CMD ["app.py"]
Куда я иду не так? Нужно ли мне изменить какой-либо путь в моем файле Docker?
РЕДАКТИРОВАТЬ: Структура каталогов:
- APP [папка с sr c Angular files]
- stati c [папка с js файлами]
- templates [папка с index.html]
- _trial.pyd
- app.py [Начальная точка выполнения]
- Пакет Dockerfile
- . json
- needs.txt
- trial.py
app.py вызывает trial.py (успешно).
trial.py нуждается в _trial.pyd. Я пытаюсь вызвать его с помощью import _trial .
Локально работает, но когда докеризую его, я получаю следующее сообщение об ошибке:
Traceback ( последний вызов был последним):
Файл "app.py", строка 7, в
from trial import *
Файл "/root/trial.py", строка 15, в
import _trial
ModuleNotFoundError: Нет модуля с именем '_trial'
Запущены следующие команды:
docker image build -t prj .
docker container run --publish 5000:5000 --name prj prj
UPDATE Это способен распознавать другие файлы .py, но не модуль .pyd.