Gcloud: Ошибка DEPRECATION: Python 2.7 при установке requirements.txt при развертывании Flask-приложения из репозитория git

Вопросы и ответы

Я создал приложение на Flask с версией Python 3.9 и разместил его в репозитории GitHub. Оно успешно работает на render.com. Чтобы изучить Google App Engine, я клонировал репозиторий, перешёл в папку и попытался установить пакеты, используя:pip install -r requirements.txt. Каждый раз, когда я запускаю эту команду, я получаю длинную ошибку DEPRECATION:
gcloud shell

Сначала у меня не было файла app.yaml. Поэтому я добавил его в оболочку Gcloud:

runtime: python39

entrypoint: gunicorn -b :$PORT app:app

env_variables:
  ENV: 'production'

handlers:
  - url: /.*
    script: auto

По-прежнему я получаю ту же ошибку с pip install -r requirements.txt! В чем может быть проблема?

Ответ

Ваша проблема с установкой зависимостей из requirements.txt и получением ошибки DEPRECATION, связанной с Python 2.7, может происходить по нескольким причинам.

Шаги по устранению проблемы:

  1. Проверьте вашу среду Python:
    Убедитесь, что вы используете правильную версию Python. Запустите команду:

    python --version

    Или, для виртуальной среды:

    source venv/bin/activate
    python --version

    Вы должны увидеть Python 3.9. Если вы видите Python 2.7, вам нужно активировать правильную среду или установить Python 3.9.

  2. Создайте и активируйте виртуальную среду:
    Это поможет изолировать зависимости вашего приложения. Выполните следующие команды:

    python3 -m venv venv
    source venv/bin/activate

    Теперь установив зависимости из requirements.txt, вы используете Python 3.9.

  3. Обновите pip:
    Перед установкой зависимостей убедитесь, что вы используете последнюю версию pip. Обновите pip с помощью команды:

    pip install --upgrade pip
  4. Установите зависимости:
    После обновления pip установите зависимости:

    pip install -r requirements.txt
  5. Проверьте requirements.txt:
    В вашем файле requirements.txt могут быть зависимости, которые зависят от Python 2.7. Откройте requirements.txt и проверьте, нет ли там пакетов, которые не совместимы с Python 3. Если такие пакеты есть, замените их на актуальные версии или совместимые с Python 3.

  6. Добавьте app.yaml:
    Вы уже добавили app.yaml. Убедитесь, что он правильно настроен, и у вас нет опечаток. Ваш файл выглядит правильно, но убедитесь, что entrypoint указывает на правильный файл и приложение.

  7. Деплой в Google App Engine:
    После выполнения всех шагов можно запустить команду для деплоя в Google App Engine:
    gcloud app deploy

Дополнительные советы:

  • Убедитесь, что ваша локальная среда настроена правильно и версии пакетов обновлены.
  • Если проблема сохраняется, проверьте настройки вашего GCP проекта, убедитесь, что версия Python 3.9 поддерживается.
  • Для более детальной информации о проблеме можете использовать:
    pip install -r requirements.txt --no-cache-dir

    Это поможет избежать использования сохраненных кэшированных пакетов, которые могут быть повреждены.

Если после выполнения всех шагов проблема продолжает возникать, вы можете предоставить дополнительные сообщения об ошибках или логи, чтобы помочь в дальнейшей диагностике проблемы.

Оцените материал
Добавить комментарий

Капча загружается...