У меня есть простое приложение на Python, которое использует пользовательский класс, который я создал. Следующая структура папок следующая:
│ mains
| ├── run_it.py
| ├── __init__.py
│ ├── parsers
│ ├── parser.py
│ ├── __init__.py
В основной программе run_it.py я звоню
from mains.parsers.parser import Parser
В локальном режиме я добавил в ~ / .bashrc строку, и она хорошо работает:
export PYTHONPATH="${PYTHONPATH}:/home/.../THE_FOLDER_ABOVE_MAINS"
Но когда я пытаюсь докернизировать приложение, я получаю следующую ошибку:
File "/app/run_it.py", line 11, in <module>
from mains.parsers.parser import Parser
ModuleNotFoundError: No module named 'mains'
Мой Dockerfile:
FROM python:3
RUN mkdir /app
WORKDIR /app
ADD . /app/
RUN apt-get update
RUN pip3 install gunicorn
RUN pip3 install -r requirements.txt
EXPOSE 5000
ENV PYTHONIOENCODING=utf-8
ENV GUNICORN_CMD_ARGS="--bind 0.0.0.0:5000 --workers=2"
CMD ["gunicorn","run_it:app"]
Есть идеи, как мне это решить?
Заранее спасибо!