部署到GCP时,具有mysql支持的Django应用无法正常工作

时间:2019-01-23 18:42:57

标签: python mysql django google-app-engine google-cloud-platform

我正在尝试使用MySQL作为数据库创建示例Django应用,当我尝试在GCP上部署的同一个应用出现500错误时,它在本地可以正常工作。 我已经在GCP中创建了sql服务器并使用了相同的设置

找不到gunicorn,但是我已经在requirments.txt中指定了所有这些内容。

2019-01-19 07:42:57 default[20190119t130429]  "GET /admin HTTP/1.1" 500
2019-01-19 07:42:58 default[20190119t130429]  /bin/sh: 1: exec: gunicorn: not found
2019-01-23 17:41:21 default[20190119t130429]  "GET /admin HTTP/1.1" 500
2019-01-23 17:41:22 default[20190119t130429]  /bin/sh: 1: exec: gunicorn: not found
2019-01-23 18:36:00 default[20190123t235752]  "GET /admin HTTP/1.1" 500
2019-01-23 18:36:00 default[20190123t235752]  /bin/sh: 1: exec: gunicorn: not found
2019-01-23 18:36:01 default[20190123t235752]  "GET /favicon.ico HTTP/1.1" 500
2019-01-23 18:36:02 default[20190123t235752]  /bin/sh: 1: exec: gunicorn: not found
2019-01-23 18:36:20 default[20190123t235752]  "GET /admin HTTP/1.1" 500
2019-01-23 18:36:20 default[20190123t235752]  /bin/sh: 1: exec: gunicorn: not found
2019-01-23 18:36:21 default[20190123t235752]  "GET /favicon.ico HTTP/1.1" 500
2019-01-23 18:36:21 default[20190123t235752]  /bin/sh: 1: exec: gunicorn: not found
**app.yaml**

runtime: python37
entrypoint: gunicorn -b :$PORT sqlreco.wsgi
#threadsafe: yes

handlers:
- url: /images
  static_dir: static/images
  http_headers:
    Access-Control-Allow-Origin: '*'

runtime_config:
 python_version: 3


**requirnaments.txt**

Django==2.1.5
djangorestframework==3.9.1
mysql==0.0.2
mysqlclient==1.4.1
pytz==2018.9
gunicorn==19.8.1

1 个答案:

答案 0 :(得分:1)

基于此错误:

ModuleNotFoundError: No module named 'main'

您的应用程序似乎没有main.py文件。如果您未指定自定义入口点,则需要使该文件具有名为app的变量,该变量与您的应用程序相对应。

对于Django,您可能可以在main.py中进行如下操作:

from mysite.wsgi import application as app

mysite是Django应用所在目录的名称。