Firebase error The default Firebase app does not exist. Make sure to initialize the SDK by calling initialize_app()
Такая вот ошибка.
Использовал firebase_admin для подключения к Firebase. Когда на хостиге запускаю проиложение Flask через
python myproject.py все работает. А когда через supervisor то вот ошибка.
Traceback (most recent call last):
File "/home/myproject/venv/lib/python3.6/site-packages/flask/app.py", line 2446, in wsgi_app
response = self.full_dispatch_request()
File "/home/myproject/venv/lib/python3.6/site-packages/flask/app.py", line 1951, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/home/myproject/venv/lib/python3.6/site-packages/flask_cors/extension.py", line 161, in wrapped_function
return cors_after_request(app.make_response(f(*args, **kwargs)))
File "/home/myproject/venv/lib/python3.6/site-packages/flask_restful/__init__.py", line 273, in error_router
return original_handler(e)
File "/home/myproject/venv/lib/python3.6/site-packages/flask/app.py", line 1820, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/home/myproject/venv/lib/python3.6/site-packages/flask/_compat.py", line 39, in reraise
raise value
File "/home/myproject/venv/lib/python3.6/site-packages/flask/app.py", line 1949, in full_dispatch_request
rv = self.dispatch_request()
File "/home/myproject/venv/lib/python3.6/site-packages/flask/app.py", line 1935, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/home/myproject/resources/admin_zone/news.py", line 49, in post_news
send_file_to_firebase(newNews.image)
File "/home/myproject/common/firebase.py", line 78, in send_file_to_firebase
bucket = storage.bucket()
File "/home/myproject/venv/lib/python3.6/site-packages/firebase_admin/storage.py", line 51, in bucket
client = _utils.get_app_service(app, _STORAGE_ATTRIBUTE, _StorageClient.from_app)
File "/home/myproject/venv/lib/python3.6/site-packages/firebase_admin/_utils.py", line 100, in get_app_service
app = _get_initialized_app(app)
File "/home/myproject/venv/lib/python3.6/site-packages/firebase_admin/_utils.py", line 85, in _get_initialized_app
return firebase_admin.get_app()
File "/home/myproject/venv/lib/python3.6/site-packages/firebase_admin/__init__.py", line 136, in get_app
'The default Firebase app does not exist. Make sure to initialize '
ValueError: The default Firebase app does not exist. Make sure to initialize the SDK by calling initialize_app().
вот конфигурация myproject.conf):
[program:myproject]
#command=/home/myproject2/venv/bin/gunicorn -b localhost:8002 -w 4 myproject2:app
command=/home/myproject/venv/bin/gunicorn -k eventlet -w 1 myproject:app --bind localhost:8000 -t 90
directory=/home/myproject
user=root
autostart=true
autorestart=true
stopasgroup=true
killasgroup=true
в myproject.py:
if __name__ == '__main__':
initialize()
initialise_firebase()
updateArticlesCategories()
set_default_users()
# set_default_data()
socketio.run(app, Config.HOST,Config.PORT)
и сама функция initialise_firebase():
import firebase_admin
from firebase_admin import credentials
from firebase_admin import firestore, storage
from config import FirebaseConfig as FB
def initialise_firebase():
cred = credentials.Certificate('service.json')
firebase_admin.initialize_app(cred, {
'storageBucket': "{}.appspot.com".format(FB.projectId)
})
при запуске через `python myproject.py` в терминале, все работает, все отправдяется на Firebase.
но стоит запустить supervisor и эта ошибка: `ValueError: The default Firebase app does not exist. Make sure to initialize the SDK by calling initialize_app().`
gunicorn, eventlet, все установлено.
гуглил но ответа так и не нашел.