2017-05-07 2 views
0

Google Cloud에 대한 MySQL 튜토리얼을 찾았습니다. here입니다.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() 요구는 두 개의 인수를 취할 것이 아니라 내가 무엇을 가리키는 문서에서 아무것도 찾을 수없는 것을 볼 수 : 그것이 그러나 나는 다음과 같은 오류가 점점 오전으로 내가 main.py의 코드를 복사.

내 애플리케이션 제목은 다음과 같습니다

# 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'의 모양은 무엇입니까? 여기에 설명 된대로 해당 env 변수를 추가해야합니다. 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에 대해 동일하게 처리하면됩니다. 사람들이 똑같은 문제에 직면 해 있다면 내 대답이 도움이되기를 바랍니다.

관련 문제