Железнодорожная ошибка при развертывании приложения DJango из-за зависимости от botocore (boto3)

После установки пакета boto3 для интеграции с AWS S3 buckets приложение не работает при развертывании. Ошибка Railway: "botocore 1.34.93 зависит от urllib3<1.27 и >=1.25.4; python_version < "3.10". На локальном сервере (127.0.0.1:8000) все работает нормально, и приложение развертывалось без проблем до установки boto3.

После установки boto3 я ожидал, что приложение будет развернуто на Railway, как это было до установки пакета. Какие-нибудь предложения?

Вероятно, это означает, что вы используете последнюю версию urllib3 (которая является обязательной зависимостью для работы botocore). Вы можете попробовать загрузить нужную версию с помощью следующего синтаксиса :

pip install urllib3==<version>

И замените <version> на нужную вам версию

Я нашел решение: в файле requirements.txt я удалил требование версии для urllib3, что позволяет Railway найти и установить версию urllib3, совместимую с boto3 и botocore. Судя по логам развертывания Railway, Railway переходит от последней версии к новой, пока не найдет совместимую.

Странность этой ошибки заключается в том, что я никогда не выбирал версию для urllib3. Версия, указанная в файле requirements.txt, была выбрана системой при установке boto3. Странно, что версия, добавленная в требования, будет несовместима при развертывании.

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