Python ';502坏网关nginx';在GCP中浏览Flask应用程序时出错
我在我的谷歌应用程序引擎上有这个问题。当我使用Python ';502坏网关nginx';在GCP中浏览Flask应用程序时出错,python,google-app-engine,flask,google-cloud-platform,cloud,Python,Google App Engine,Flask,Google Cloud Platform,Cloud,我在我的谷歌应用程序引擎上有这个问题。当我使用gcloud app browse运行应用程序时,页面会显示以下错误消息: '502坏网关 nginx' 我正在使用烧瓶应用程序 代码如下: import os from flask_uploads import UploadSet, configure_uploads, IMAGES, patch_request_class from uuid import uuid4 from flask import Flask, request, rende
gcloud app browse
运行应用程序时,页面会显示以下错误消息:
'502坏网关
nginx'
我正在使用烧瓶应用程序
代码如下:
import os
from flask_uploads import UploadSet, configure_uploads, IMAGES, patch_request_class
from uuid import uuid4
from flask import Flask, request, render_template, send_from_directory
import io
from google.cloud import vision
from google.cloud.vision import types
app = Flask(__name__)
app.config['UPLOADED_PHOTOS_DEST'] = os.getcwd()
photos = UploadSet('photos', IMAGES)
configure_uploads(app, photos)
patch_request_class(app)
APP_ROOT = os.path.dirname(os.path.abspath(__file__))
os.environ["GOOGLE_APPLICATION_CREDENTIALS"]="json_key.txt"
vision_client = vision.ImageAnnotatorClient()
@app.route('/', methods=['GET', 'POST'])
def upload_file():
labels = ''
file_url1 = ''
filename = ''
file_url = ''
target = os.path.join(APP_ROOT, '/')
if request.method == 'POST' and 'photo' in request.files:
filename = photos.save(request.files['photo'])
file_url = photos.url(filename)
with io.open(filename, 'rb') as image_file:
content = image_file.read()
image = types.Image(content=content)
response = vision_client.label_detection(image=image)
labels = response.label_annotations
return render_template('index.html', thelabels=labels,image_name=file_url)
"""@app.route('/<filename>')
def send_image(filename):
#return render_template('index.html', filename=filename)
return send_from_directory("/", filename)"""
if __name__ == '__main__':
app.run()
我没有使用requirements.txt文件 要部署应用程序引擎应用程序,您至少需要3个文件
uwsgi==2.0.18
flask==1.1.1
google-cloud==0.34.0
google-cloud-vision==0.39.0
uuid==1.30.0
Flask-Uploads==0.2.1
您还可以运行命令
pip freeze>requirements.txt来获取所需文件,但请记住,您应该只在测试中运行此命令,因为如果您在工作环境中执行pip freeze,您将得到一个非常长的列表,其中包含许多不必要的依赖项,这将大大降低应用程序部署的速度谷歌云应用引擎专家,但我敢打赌,你的Flask应用要么没有运行,要么没有配置到正确的端口,或者在你的情况下,我认为两者都有。您说您没有使用requirements.txt文件,但您应该这样做,因为我看到您有应用程序引擎不知道的依赖项。在您的项目根目录中,一个简单的pip freeze>requirements.txt
就可以解决这个问题。另外,我认为您应该向yaml文件添加更多配置。谢谢兄弟所有是关于需求文件和app.yaml你应该安装所有需要的需求文件和软件包
uwsgi==2.0.18
flask==1.1.1
google-cloud==0.34.0
google-cloud-vision==0.39.0
uuid==1.30.0
Flask-Uploads==0.2.1