因此,我设法为谷歌获取了所有挂钩的up.The路径,并且设置apache2似乎运行得很好;我收到一个内部错误;/在server.In中,函数.However
storage_client= storage.Client()会导致错误
在函数测试中
storage_client= storage.Client()成功了,python能够找到secret.json,这对我来说很奇怪。
#__init__.py code
from flask import Flask
from google.cloud import storage
app = Flask(__name__)
@app.route("/")
def hello():
#Does not work here
storage_client= storage.Client()
return "error"
#Works without @app.route("")
def test():
storage_client= storage.Client()
# successfuly connects and prints
print(storage_client)
if __name__ == "__main__":
app.run()#wsgi code
#!/usr/bin/python
#!/usr/secret.json
import sys
import logging
logging.basicConfig(stream=sys.stderr)
sys.path.insert(0,"/var/www/html/FlaskApp/")
from google.cloud import storage
from FlaskApp import app as application
application.secret_key = 'Add your secret key'这是日志,似乎在flaskapp.wsgi中有一个错误,但我不是很确定...
mod_wsgi (pid=23303): Target WSGI script '/var/www/html/FlaskApp/flaskapp.wsgi' cannot be loaded as Python module.
mod_wsgi (pid=23303): Exception occurred processing WSGI script '/var/www/html/FlaskApp/flaskapp.wsgi'.
Traceback (most recent call last):
File "/var/www/html/FlaskApp/flaskapp.wsgi", line 7, in <module>
from FlaskApp import app as application
File "/var/www/html/FlaskApp/FlaskApp/__init__.py", line 5, in <module>
storage_client = storage.Client()
File "/usr/local/lib/python2.7/dist-packages/google/cloud/storage/
raise exceptions.DefaultCredentialsError(_HELP_MESSAGE)
DefaultCredentialsError: Could not automatically determine credentials. Please set GOOGLE_APPLICATION_CREDENTIALS or ex$发布于 2019-11-07 17:40:23
您需要提供计划使用的服务帐户的凭据。正如您在错误中看到的,您可以为此设置environment variable GOOGLE_APPLICATION_CREDENTIALS。
要实现这一点,请完成以下步骤:
export GOOGLE_APPLICATION_CREDENTIALS="[PATH-TO-THE-KEY]"):$env:GOOGLE_APPLICATION_CREDENTIALS="[PATH-TO-THE-KEY]"
Alternatively,您可以在代码中通过pass the path连接到服务帐户密钥:
storage_client = storage.Client.from_service_account_json(
'service_account_key.json')https://stackoverflow.com/questions/58745398
复制相似问题