Python/Docker - Не найдено подходящего дистрибутива для Django 3.1.3
У меня есть проект, который я пытаюсь запустить под названием Veganettest в редакторе кода visual studio, однако, когда я запускаю docker-compose up
, я получаю ошибку ERROR: No matching distribution found for Django==3.1.3
, хотя такой дистрибутив действительно существует. Я пробовал использовать pip для установки самого дистрибутива как внутри, так и снаружи моего контейнера docker, но когда я запускаю программу снова, она выдает ту же ошибку. Кроме того, я пробовал различные другие решения здесь, но они не имеют отношения к моей проблеме, связанной конкретно с этой библиотекой. Похоже, что ошибка возникает из моего файла requirements.txt.
Вот полная ошибка, которую я получаю вместе с несколькими предупреждениями изначально:
WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x000001B4E55BC430>: Failed to establish a new connection: [Errno 11002] getaddrinfo failed')': /simple/django/
WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x000001B4E55DE070>: Failed to establish a new connection: [Errno 11002] getaddrinfo failed')': /simple/django/
WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x000001B4E55DE220>: Failed to establish a new connection: [Errno 11002] getaddrinfo failed')': /simple/django/
WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x000001B4E55DE3D0>: Failed to establish a new connection: [Errno 11002] getaddrinfo failed')': /simple/django/
WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x000001B4E55DE580>: Failed to establish a new connection: [Errno 11002] getaddrinfo failed')': /simple/django/
ERROR: Could not find a version that satisfies the requirement Django==3.1.3 (from versions: none)
ERROR: No matching distribution found for Django==3.1.3
Вот мои требования.txt, Dockerfile, docker-compose.yml и файл manage.py соответственно:
requirements.txt:
Django==3.1.3
djangorestframework==3.12.2
mysqlclient==2.0.1
django-mysql==3.9
django-cors-headers==3.5.0
pika==1.1.0
pillow==9.0.0
matplotlib==3.5.0
Dockerfile:
FROM python:3.9
ENV PYTHONUNBUFFERED 1
WORKDIR /app
COPY requirements.txt /app/requirements.txt
RUN pip install -r requirements.txt
COPY . /app
docker-compose.yml:
version: '3.9'
services:
backend:
build:
context: .
dockerfile: Dockerfile
command: 'python manage.py runserver 0.0.0.0:8000'
ports:
- 8000:8000
volumes:
- .:/app
depends_on:
- db
db:
image: mysql:5.7.22
restart: always
environment:
MYSQL_DATABASE: veganettest
MYSQL_USER: foodiehutts
MYSQL_PASSWORD: bobaboyheheh21342345><L
MYSQL_ROOT_PASSWORD: root
volumes:
- .dbdata:/var/lib/mysql
ports:
- 33065:3306
manage.py:
import os
import sys
def main():
"""Run administrative tasks."""
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'veganettest.settings')
try:
from django.core.management import execute_from_command_line
except ImportError as exc:
raise ImportError(
"Couldn't import Django. Are you sure it's installed and "
"available on your PYTHONPATH environment variable? Did you "
"forget to activate a virtual environment?"
) from exc
execute_from_command_line(sys.argv)
if __name__ == '__main__':
main()
Почему происходит эта ошибка? Что я могу сделать, чтобы исправить ее?
У меня была похожая проблема, и обновление pip помогло мне
ЗАПУСТИТЬ pip install --upgrade pip && pip install -r requirements.txt
.
У меня не было "NewConnectionError
", однако.