[英]Python Syntax Error within GCP App Engine
我正在尝试在 GCP 应用程序引擎中使用 python 建立与 MySQL 数据库的连接。 目标是一个简单的测试,能够让它返回/打印数据库表的第一行。
使用我的 jupyter 笔记本,我可以使用sqlalchemy
连接 python 并打印第一行。
所以我尝试在应用引擎中修改最初的“hello world”教程来做同样的事情。 但是当我将代码复制到main.py
文件时,当我尝试在第 7 行使用create_enginge
时,它给了我一个语法错误。
任何人都知道为什么我的main.py
文件在应用程序引擎中存在语法错误,但在 jupyter 笔记本中却没有?
from flask import Flask
import pandas as pd
import sqlalchemy as sa
import pymysql
app = Flask(__name__)
@app.route('/')
engine = sa.create_engine('''mysql+pymysql://{username}:
{password}@{host}:{port}/{db_name}''')
with engine.connect() as conn:
# Execute the query and fetch all results
response = conn.execute(
"SELECT * FROM table_name "
"LIMIT 1"
).fetchall()
# Print Results
for row in response:
print("sub_event_id = ", row[0], )
print("event_type = ", row[1])
print("date_time = ", row[2])
print("ip = ", row[3])
print("property_id = ", row[4])
print("contact_id = ", row[5])
print("address_id = ", row[6], "\n")
engine.dispose()
@app.route 是一个装饰器,它需要一个 function 来装饰,不能放在任何地方,像这样:
@app.route('/')
def hello_world():
# your code here
return 'Hello, World!'
您的问题实际上与第 7 行的代码无关,而是您在它之前缺少 function 定义。 我真的怀疑它在 Jupyter 中是否有效。
解决方案:在代码开头添加一个function定义,修复语法错误。
从 polku 的回答中发现了这一点,再次感谢。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.