Не удается импортировать локальный модуль Python в образе Docker - PullRequest
0 голосов
/ 28 ноября 2018

Я создал образ Docker, содержащий проект Python, в каталоге с именем /service.Dockerfile выглядит следующим образом:

FROM continuumio/miniconda:latest

SHELL ["/bin/bash", "-c"]

ADD . /service

WORKDIR /service

RUN conda env create -n my-env -f=environment.yml
RUN python setup.py develop

CMD ["/bin/bash"]

Локально, чтобы запустить проект из /service Я делаю

source activate my-env
cd src
python app.py

И он работает правильно.При запуске образа Docker, если я делаю то же самое, мне выдается ошибка

Traceback (most recent call last):
  File "app.py", line 3, in <module>
    from src.core.metrics.metrics import ACTIVE

. Я подтвердил, что src/core/metrics/metrics.py действительно был включен в образ, и что структура файла такая же, какв локальном проекте.

Я также добавил

import os
print(os.getcwd())

в начало app.py, чтобы посмотреть, не возникла ли проблема с текущим рабочим каталогом.Локально напечатанный результат - /full/path/to/project/service/src.На изображении Docker результат печати - /service/src, что, по-видимому, указывает на правильный cwd.

Есть идеи, почему python app.py не работает в изображении?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...