Приветствую товарищи. Нужна помощь. В краце вел разработку на Windows. Все ок все работает и запускается. Решил код засунуть в докер и запустить на Linux, пошли ошибки импорта. В чем может быть проблема?
Структура проекта примерно такая:
/app
│── src/
│ ├── __init__.py
│ ├── settings.py
│ ├── loading_and_processing_xml.py
│ ├── utility.py
└── main.py
Импортирую src в main следующим образом
from src import settings, loading_and_processing_xml, utility
Dockerfile
# Используем официальный Debian-образ с предустановленным Python
FROM python:3.13-slim
# Устанавливаем необходимые системные зависимости
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
curl \
unzip \
git \
xvfb \
libgbm1 \
libasound2 \
wget \
&& rm -rf /var/lib/apt/lists/*
# Устанавливаем DrawIO
ENV DRAWIO_VERSION "18.0.1"
WORKDIR /tmp
RUN wget -O drawio-desktop.deb -q https://github.com/jgraph/drawio-desktop/releases/download/v${DRAWIO_VERSION}/drawio-amd64-${DRAWIO_VERSION}.deb \
&& apt-get update && apt-get install -y ./drawio-desktop.deb \
&& rm drawio-desktop.deb \
&& rm -rf /var/lib/apt/lists/*
# Устанавливаем зависимости Python
COPY requirements.txt /tmp/
RUN pip install --no-cache-dir -r /tmp/requirements.txt && \
rm /tmp/requirements.txt
# Устанавливаем переменную окружения DISPLAY
ENV DISPLAY=:99
# Копируем код приложения
WORKDIR /app
COPY app/ /app/
# Экспонируем порт 5000
EXPOSE 5000
# Устанавливаем переменные окружения для Flask
ENV FLASK_APP=main.py
ENV FLASK_RUN_HOST=0.0.0.0
# Копируем скрипт entrypoint
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
# Указываем скрипт entrypoint
ENTRYPOINT ["/entrypoint.sh"]