502 Bad Gateway в GAE с Django, & Log say "libBLT.2.5.so.8.6 No such file or directory"

  • Django 4.0.4
  • Python 3.8.9

Я развернул Django App на GAE. Но я получил ошибку "502 Bad Gateway". Я проверил журналы сервера. Это ниже.

Я думаю, что у экземпляра GAE нет TK или gunicorn не работает. Кто-нибудь знает о такой проблеме? Спасибо.

-- app.yaml --

runtime: python38

instance_class: F1

env: standard

entrypoint: gunicorn -b :$PORT <PROJECT_NAME>.wsgi:application

includes:
    - secret.yaml

handlers:
    - url: /static
      static_dir: static/
    - url: /.*
      script: auto
      secure: always

automatic_scaling:
  max_instances: 2

-- settings/base.py --

-- settings/production.py --

from .base import *

SECRET_KEY = os.getenv('SECRET_KEY')

DEBUG = False

ALLOWED_HOSTS = ['<CUSTOM_DOMAIN>']

# データベース
import pymysql

pymysql.install_as_MySQLdb()

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'HOST': '/cloudsql/' + os.getenv('DB_CONNECTION_NAME'),
        'USER': os.getenv('DB_USER'),
        'PASSWORD': os.getenv('DB_PASSWORD'),
        'NAME': os.getenv('DB_NAME'),
    }
}


# ストレージ
from google.oauth2 import service_account
GS_CREDENTIALS = service_account.Credentials.from_service_account_file(
    os.path.join(BASE_DIR, '<PROJECT_NAME>/settings/<CREDENTIAL_FILE>.json')
)

DEFAULT_FILE_STORAGE = 'storages.backends.gcloud.GoogleCloudStorage'
STATICFILES_STORAGE = 'storages.backends.gcloud.GoogleCloudStorage'

GS_BUCKET_NAME = os.getenv('GS_BUCKET_NAME')
GS_PROJECT_ID = '<PROJECT_NAME>'

# ソーシャルログイン
SOCIAL_AUTH_GOOGLE_OAUTH2_KEY = os.getenv('SOCIAL_AUTH_GOOGLE_OAUTH2_KEY')
SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET = os.getenv('SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET')

SOCIAL_AUTH_FACEBOOK_KEY = os.getenv('SOCIAL_AUTH_FACEBOOK_KEY')
SOCIAL_AUTH_FACEBOOK_SECRET = os.getenv('SOCIAL_AUTH_FACEBOOK_SECRET')

Как вы упомянули, ошибка может быть вызвана tkinter, попробуйте следующее:

Развертывание модели keras в google app engine

Поскольку в вашем entrypoint файле есть app.yaml, который запускается через gunicorn, вы должны явно включить gunicorn в requirements.txt файл

Я решил эту проблему самостоятельно.
Там был код import turtledemo на views.py и библиотека требует TK. Это и было причиной ошибки.
PyCharm автоматически добавил этот код.
Спасибо, Супун Кайхара и NoCommandLine.

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