Невозможно установить Django через Dockerfile

когда я запускаю «сборку докеров». команда, «ОШИБКА: Недопустимое требование: «Django => 4.0.4» (из строки 1 /requirements.txt) ВНИМАНИЕ: вы используете версию pip 22.0.4; однако доступна версия 22.1. Вам следует рассмотреть возможность обновления с помощью команды «/usr/local/bin/python -m pip install --upgrade pip».

появляется эта ошибка. Я обновил pip до последней версии. Когда я проверяю версию pip, она показывает 22.1. Но когда я снова запускаю команду сборки docker, ничего не меняется. Я обновился с этого места /usr/local/bin/python. но все равно ничего не изменилось.

Я использую Ubuntu 20.04, версия Python 3.8.

мой файл докера:

FROM python:3.8-alpine
MAINTAINER Kanan App Developer

ENV PYTHONUNBUFFERED 1

COPY ./requirements.txt /requirements.txt
RUN pip install -r /requirements.txt

RUN mkdir /app
WORKDIR /app
COPY ./app /app

RUN adduser -D user
USER user

файл требований.txt:

Django=>4.0.4
djangorestframework=>3.13.1

не могли бы вы поделиться файлом докеры, который вы пытаетесь создать?

Simon 16.05.2022 11:57

Можете ли вы pip install -r requirements.txt попасть в новую пустую виртуальную среду без Docker? (Вам нужно написать ограничение версии >=, а не =>?)

David Maze 16.05.2022 12:12

@DavidMaze с виртуальной средой, которую я могу установить. Но когда я использую Dockerfile, появляется ошибка.

Kanan Samandarli 16.05.2022 12:34

@Simon Я добавил файл докера к своему вопросу.

Kanan Samandarli 16.05.2022 12:35
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
4
61
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Просто используйте == или >= вместо => в файле requirements.txt, например

Django==4.0.4
djangorestframework==3.13.1

Спасибо, это сработало. Я не обратил внимания.

Kanan Samandarli 16.05.2022 20:22
Ответ принят как подходящий

=> не является допустимым реальным оператором для больше или равно.

Допустимый оператор: >=. Итак, ваш файл requirements.txt должен быть:

Django>=4.0.4
djangorestframework>=3.13.1

Другие вопросы по теме