在跟随freecampcode的网络应用程序tutorial,创建了自己的Google Cloud SDK项目并使用Python和Flask(我发现他们大多认为是this tutorial)部署了示例社交网络网站之后,我得到了相同的结果错误:Internal/Unknown Server Error 500
,看起来像:
Error: Server Error
The server encountered an error and could not complete your request.
Please try again in 30 seconds.
检查日志时,出现错误:
-2020-07-06 01:51:29 default[20200705t214944] "GET / HTTP/1.1" 500
-2020-07-06 01:51:32 default[20200705t214944] "GET /favicon.ico HTTP/1.1" 500
任何帮助将不胜感激。我已经在这个问题上停留了一段时间。如果您需要有关该项目的其他信息,请告诉我。这是我的第一个gcloud项目。
编辑:我检查了错误日志并看到了错误:
ImportError: No module named main
at LoadObject (/base/alloc/tmpfs/dynamic_runtimes/python27g/174489198b39d9fb/python27/python27_lib/versions/1/google/appengine/runtime/wsgi.py:85)
at _LoadHandler (/base/alloc/tmpfs/dynamic_runtimes/python27g/174489198b39d9fb/python27/python27_lib/versions/1/google/appengine/runtime/wsgi.py:311)
at Handle (/base/alloc/tmpfs/dynamic_runtimes/python27g/174489198b39d9fb/python27/python27_lib/versions/1/google/appengine/runtime/wsgi.py:240)
所以我添加了文件 main.py ,内容如下:
from app.wsgi import main as app
entrypoint: gunicorn -b :$PORT app.wsgi:main
而且我仍然遇到相同的内部错误。
答案 0 :(得分:0)
一种方法是尝试关闭调试模式
如果仍然无法正常运行,请尝试以下操作,以获取出现此错误的确切详细信息
尝试此操作将返回确切错误
@app.errorhandler(500)
def internal_server_error(e):
return jsonify(error=str(e)), 500
答案 1 :(得分:0)
我注意到的是,教程1(this one)包含python2的使用方法,而第二个教程(this one)是使用python3构建的方法。
还有什么python2不再受支持,因此没有必要学习如何使用它。这里是reference。
我想您必须在app.yaml文件中更改环境。 Here是指python3环境。我将从那开始。
我也建议您转到Google Cloud Platform并打开App Engine(直接link)。在右侧,您可以使用名为“ App Engine快速入门”或“ Hello World”的教程。您可以选择Python并进入创建HelloWorld应用的整个过程,顺便说一下,这也是Flask。我什至会在您尝试一次之前尝试。
我希望它将对您有帮助!