Сбой сборки Dockerfile - найдено несколько версий Python для Pipenv и Pyenv - PullRequest
0 голосов
/ 01 декабря 2019

Вопрос: Как я могу исправить Dockerfile, чтобы правильно заморозить файл require.txt и успешно собрать?

Я работаю над развертыванием Dockerfile скрипта Python, использующего Pyenv и Pipenv для локальногоразработка.

На этапе сборки, где файл Piplock заморожен в файл require.txt, я получаю следующую ошибку:

Ошибка: недопустимое значение для "--python": ожидаетсяPython по пути /Users/jz/.local/share/virtualenvs/quanter-TP0oWHoL/bin/python3 не существует

Мой файл Docker:

FROM python:3.7
RUN pip install pipenv
COPY Pipfile* /tmp/
RUN cd /tmp && pipenv --python /Users/x/.local/share/virtualenvs/quanter-TP0oWHoL/bin/python3 lock --requirements > requirements.txt
ENV RDKAFKA_INSTALL=system
RUN pip install -r /tmp/requirements.txt
COPY . /tmp/app/
RUN pip install /tmp/app/
CMD ["python", "./tmp/app/main.py"]

Созданиелокальная среда Pipenv предоставила эту информацию о интерпретаторе (который использовался в Dockerfile):

Использование /usr/local/opt/pyenv/versions/3.8.0/bin/python3 (3.8. 0) создать virtualenv… virtual Создание виртуальной среды ... Использование базового префикса '/usr/local/opt/pyenv/versions/3.8.0' Новый исполняемый файл python в /Users/x/.local/share/virtualenvs/quanter-TP0oWHoL / bin / python3 Также создает execтаблица в /Users/x/.local/share/virtualenvs/quanter-TP0oWHoL/bin/python

Pyenv локально использует 3.8.0:

pyenv versions
system
3.7.5
* 3.8.0 (set by /Users/x/Projects/quanter/.python-version)

Получение любой помощиэта работа будет принята с благодарностью! Спасибо.

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