2017-05-07 7 views
0

Google CloudのMySQLチュートリアルに続いて、hereが見つかりました。それがあるように私はmain.pyでコードをコピーしたが、私は次のエラーを取得しています:App Engineを使用したMySQL DBへの接続

File "D:\BitBucket\Code\main.py", line 44, in get db = connect_to_cloudsql() File "D:\BitBucket\Code\main.py", line 34, in connect_to_cloudsql db = MySQLdb.connect(host='127.0.0.1', user=CLOUDSQL_USER, passwd=CLOUDSQL_PASSWORD) File "C:\Python27\lib\site-packages\MySQLdb\__init__.py", line 81, in Connect return Connection(*args, **kwargs) File "C:\Python27\lib\site-packages\MySQLdb\connections.py", line 191, in __init__ super(Connection, self).__init__(*args, **kwargs2) TypeError: connect() argument 2 must be string, not None

私はconnect_to_cloudsql() 2つの引数を取る必要があるが、私は何を指すのドキュメントで何かを見つけることができないことを参照してください。

私のapp.yamlは、次のようになります。

# application: reliance-it 
    # # application: reliance-test 
    # module: default 
    # version: 5 
    # runtime: python27 
    # api_version: 1 
    # instance_class: F2 
    # threadsafe: true 
    # automatic_scaling: 
    # min_idle_instances: 0 
    # max_idle_instances: automatic 
    # min_pending_latency: 30ms 
    # max_pending_latency: automatic 

    application: reliance-group 
    module: default 
    version: 1 
    runtime: python27 
    api_version: 1 
    threadsafe: yes 

    env_variables: 
     CLOUDSQL_CONNECTION_NAME: reliance-group:us-central1:cash-flow 
     CLOUDSQL_USER: root 
     CLOUDSQL_PASSWORD: p_ROOTadmin$123 

    libraries: 
    - name: MySQLdb 
    version: "latest" 

    - name: webapp2 
    version: latest 
    - name: jinja2 
    version: latest 
    - name: pycrypto 
    version: "2.6" 
    - name: PIL 
    version: latest 

    inbound_services: 
    - mail 

    handlers: 
    - url: /stylesheets 
    static_dir: css 
    mime_type: text/css 
    - url: /scripts 
    static_dir: js 

    - url: /favicon\.ico 
    static_files: css/images/favicon.ico 
    upload: css/images/favicon.ico 



    #========Default Handler========= 
    - url: /.* 
    script: main.application 
+0

あなたの 'app.yaml'の外観はどうですか? https://cloud.google.com/appengine/docs/standard/python/cloud-sql/#setting-up – alpeware

+0

私のアプリを表示するために元の投稿を更新しました。 yamlの内容 – Y2H

+0

env変数が正しく設定されていないようです。私はWindows上ではないので、完全にはわかりません。値を引用してみてください。コードを読み込んだ後にコンソールにログを記録するだけで、コード内で正しく設定されているかどうかを確認することができます。また、必ずパスワードを変更してください。 – alpeware

答えて

0

CLOUDSQL_CONNECTION_NAME = os.environ.get('connection-name')の出力がNoneであることが判明しました。それをCLOUDSQL_CONNECTION_NAME = 'connection-name'に置き換えて、CLOUDSQL_USERCLOUDSQL_PASSWORDについて同じことをするだけで、このトリックが実行されます。彼らが同じ問題に直面した場合、私の答えが役立つことを人々が願っています。

関連する問題