Как решить конфликты зависимостей в файле requirements.txt при развертывании Django

Я пытаюсь развернуть свое приложение Django на GCP с помощью google appengine. Сначала я развернул приложение после тестирования на localhost, следуя этой документации от Google appengine. развернул приложение с помощью gcloud app deploy

Но есть некоторая проблема и сервер не работает, показывая ошибку 502 Bad Gateway. enter image description here

Затем я проверил журналы и понял, что забыл загрузить файл requiremts.txt. загруженный файл и попытался развернуть приложение снова.

Но получил ошибку

ERROR: Cannot install -r requirements.txt (line 19), -r requirements.txt (line 21), -r requirements.txt (line 27) and grpcio==1.48.1 because these package versions have conflicting dependencies.

Здесь есть конфликт зависимостей между модулями Gcloud предложил документацию https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts для решения этой проблемы, но я не понимаю, как решить конфликт модулей в requirements.txt

Вот файл requirements.txt

APScheduler==3.6.3
asgiref==3.5.2
backports.zoneinfo==0.2.1
beautifulsoup4==4.11.1
cachetools==4.2.2
certifi==2022.6.15
charset-normalizer==2.1.1
dill==0.3.5.1
Django==4.0.6
django-environ==0.9.0
django-social-share==2.3.0
environ==1.0
google==3.0.0
google-api-core==2.10.0
google-auth==2.11.0
google-cloud-secret-manager==2.12.4
google-cloud-speech==2.15.1
googleapis-common-protos==1.56.4
grpc-google-iam-v1==0.12.4
grpcio==1.48.1
grpcio-status==1.48.1
idna==3.3
Pillow==9.2.0
proto-plus==1.22.1
protobuf==4.21.5
psycopg2==2.9.3
pulumi==3.39.3
pyasn1==0.4.8
pyasn1-modules==0.2.8
pytz==2022.2.1
pytz-deprecation-shim==0.1.0.post0
PyYAML==6.0
requests==2.28.1
rsa==4.9
semver==2.13.0
six==1.16.0
soupsieve==2.3.2.post1
sqlparse==0.4.2
tornado==6.2
tzdata==2022.1
tzlocal==4.2
urllib3==1.26.12

И журнал ошибок

Пожалуйста, помогите мне решить эту ошибку Спасибо

Я бы использовал что-то вроде poetry для управления зависимостями во время работы над приложением. Это действительно поможет вам не столкнуться с конфликтами и решит большинство из них за вас автоматически.

Затем, когда вы будете готовы развернуть свое приложение, вы можете сделать:

poetry export -f requirements.txt --output requirements.txt

И поэзия создаст requirements.txt файл, который вы можете загрузить в GCP

Вернуться на верх