Python ValueError:以10为基数的int()的文本无效:';密码';将SQLALCHEMY与google应用程序引擎结合使用

Python ValueError:以10为基数的int()的文本无效:';密码';将SQLALCHEMY与google应用程序引擎结合使用,python,google-app-engine,sqlalchemy,Python,Google App Engine,Sqlalchemy,我一直在与SQLAlchemy斗争,并让它与谷歌应用程序引擎一起工作。当然,它在本地工作:eyeroll:。 我一辈子都搞不懂 以下是日志: 2018-07-31 15:50:10.109 CDT Traceback (most recent call last): 2018-07-31 15:50:10.109 CDT File "/base/data/home/apps/s~projectname/20180731t154917.411530389303386639/lib/flask/

我一直在与SQLAlchemy斗争,并让它与谷歌应用程序引擎一起工作。当然,它在本地工作:eyeroll:。
我一辈子都搞不懂

以下是日志:

2018-07-31 15:50:10.109 CDT
Traceback (most recent call last):
2018-07-31 15:50:10.109 CDT
  File "/base/data/home/apps/s~projectname/20180731t154917.411530389303386639/lib/flask/app.py", line 1982, in wsgi_app
2018-07-31 15:50:10.109 CDT
    response = self.full_dispatch_request()
2018-07-31 15:50:10.110 CDT
  File "/base/data/home/apps/s~projectname/20180731t154917.411530389303386639/lib/flask/app.py", line 1614, in full_dispatch_request
2018-07-31 15:50:10.110 CDT
    rv = self.handle_user_exception(e)
2018-07-31 15:50:10.110 CDT
  File "/base/data/home/apps/s~projectname/20180731t154917.411530389303386639/lib/flask/app.py", line 1517, in handle_user_exception
2018-07-31 15:50:10.110 CDT
    reraise(exc_type, exc_value, tb)
2018-07-31 15:50:10.110 CDT
  File "/base/data/home/apps/s~projectname/20180731t154917.411530389303386639/lib/flask/app.py", line 1612, in full_dispatch_request
2018-07-31 15:50:10.110 CDT
    rv = self.dispatch_request()
2018-07-31 15:50:10.110 CDT
  File "/base/data/home/apps/s~projectname/20180731t154917.411530389303386639/lib/flask/app.py", line 1598, in dispatch_request
2018-07-31 15:50:10.110 CDT
    return self.view_functions[rule.endpoint](**req.view_args)
2018-07-31 15:50:10.110 CDT
  File "/base/data/home/apps/s~projectname/20180731t154917.411530389303386639/main.py", line 133, in signup
2018-07-31 15:50:10.110 CDT
    db.session.add(new_user)
2018-07-31 15:50:10.110 CDT
  File "/base/data/home/apps/s~projectname/20180731t154917.411530389303386639/lib/sqlalchemy/orm/scoping.py", line 153, in do
2018-07-31 15:50:10.110 CDT
    return getattr(self.registry(), name)(*args, **kwargs)
2018-07-31 15:50:10.110 CDT
  File "/base/data/home/apps/s~projectname/20180731t154917.411530389303386639/lib/sqlalchemy/util/_collections.py", line 1001, in __call__
2018-07-31 15:50:10.110 CDT
    return self.registry.setdefault(key, self.createfunc())
2018-07-31 15:50:10.110 CDT
  File "/base/data/home/apps/s~projectname/20180731t154917.411530389303386639/lib/sqlalchemy/orm/session.py", line 2950, in __call__
2018-07-31 15:50:10.110 CDT
    return self.class_(**local_kw)
2018-07-31 15:50:10.110 CDT
  File "/base/data/home/apps/s~projectname/20180731t154917.411530389303386639/lib/flask_sqlalchemy/__init__.py", line 143, in __init__
2018-07-31 15:50:10.110 CDT
    bind = options.pop('bind', None) or db.engine
2018-07-31 15:50:10.110 CDT
  File "/base/data/home/apps/s~projectname/20180731t154917.411530389303386639/lib/flask_sqlalchemy/__init__.py", line 877, in engine
2018-07-31 15:50:10.110 CDT
    return self.get_engine()
2018-07-31 15:50:10.110 CDT
  File "/base/data/home/apps/s~projectname/20180731t154917.411530389303386639/lib/flask_sqlalchemy/__init__.py", line 896, in get_engine
2018-07-31 15:50:10.110 CDT
    return connector.get_engine()
2018-07-31 15:50:10.110 CDT
  File "/base/data/home/apps/s~projectname/20180731t154917.411530389303386639/lib/flask_sqlalchemy/__init__.py", line 553, in get_engine
2018-07-31 15:50:10.110 CDT
    info = make_url(uri)
2018-07-31 15:50:10.110 CDT
  File "/base/data/home/apps/s~projectname/20180731t154917.411530389303386639/lib/sqlalchemy/engine/url.py", line 211, in make_url
2018-07-31 15:50:10.110 CDT
    return _parse_rfc1738_args(name_or_url)
2018-07-31 15:50:10.110 CDT
  File "/base/data/home/apps/s~projectname/20180731t154917.411530389303386639/lib/sqlalchemy/engine/url.py", line 267, in _parse_rfc1738_args
2018-07-31 15:50:10.110 CDT
    return URL(name, **components)
2018-07-31 15:50:10.110 CDT
  File "/base/data/home/apps/s~projectname/20180731t154917.411530389303386639/lib/sqlalchemy/engine/url.py", line 60, in __init__
2018-07-31 15:50:10.110 CDT
    self.port = int(port)
2018-07-31 15:50:10.110 CDT
**ValueError: invalid literal for int() with base 10: 'password'**
这是我的应用程序。yaml:

runtime: python27
api_version: 1
threadsafe: true

# [START handlers]
handlers:
- url: /static
  static_dir: static
- url: /.*
  script: main.app
# [END handlers]

# [START libraries]
libraries:
- name: MySQLdb
  version: 'latest'
 #[END libraries]

 # [START env_variables]
env_variables:
    CLOUDSQL_CONNECTION_NAME: 'projectName:us-central1:dbname'
    CLOUDSQL_USER: root
    CLOUDSQL_PASSWORD: password
# [END env_variables]
这是我的main.py

app = Flask(__name__)

# Google Cloud SQL information
CLOUDSQL_USER = 'root'
CLOUDSQL_PASSWORD = 'password'
CLOUDSQL_DB_NAME = 'dbname'
GAE_PROJECT_ID = 'projectname'
CLOUDSQL_CONNECTION_NAME = 'projectName:us-central1:dbname'


app.config['SQLALCHEMY_DATABASE_URI'] = (
    'mysql+pymysql://root:password/dbname'
    '?unix_socket=/cloudsql/projectName:us-central1:dbname')
app.config['SECRET_KEY'] = 'Thisissupposedtobesecret!'
Bootstrap = Bootstrap(app)
db = SQLAlchemy(app)
发件人:


您缺少了
@
符号,这不应该是:
'mysql吗+pymysql://root:password@主机:端口/dbname'
?您正在向
端口
输入一个字符串“password”,其中它希望可以转换为整数。将端口指定为整数。通常像
//root:password/
这样的url会表示名为“root”的主机和名为“password”的端口,这当然很愚蠢,因此会出现错误。@GAEfan是的,但当我尝试这样做时,它给了我另一个错误:Google cloud sql:在“读取初始通信包”时与MySQL服务器失去连接不完全确定当我使用Google cloud的sql作为well@IljaEverilä你可能有一些东西,但到目前为止,所有文档都说我应该这样设置连接URL:/不完全是。在凭据后面加上“@”,这样url解析器就可以将它们与主机:端口对区分开来。您好@ingenium21,这太好了!请接受答案。
env_variables:
    # Replace user, password, database, and instance connection name with the values obtained
    # when configuring your Cloud SQL instance.
    SQLALCHEMY_DATABASE_URI: >-
      mysql+pymysql://USER:PASSWORD@/DATABASE?unix_socket=/cloudsql/INSTANCE_CONNECTION_NAME