Как исправить Firebase_Admin Ошибка TypeError: __init __ () получил неожиданный аргумент ключевого слова 'status' - PullRequest
1 голос
/ 20 мая 2019

Я новичок в Firebase и слежу за их обучением онлайн.Я пытаюсь аутентифицироваться в быстрой БД, которую я создал с несколькими записями.Я получаю сообщение об ошибке: TypeError: init () получил неожиданный аргумент ключевого слова 'status'

Я убедился, что мой urllib3 обновлен, и подтвердил, что мой firebase_Admin работает доДата.Я проверил свой путь к файлу json и скопировал в него URL базы данных.

import firebase_admin
from firebase_admin import credentials
from firebase_admin import db

#Generated from settings of a project.
cred = credentials.Certificate(r"Path to json file in the same directory as program")

firebase_admin.initialize_app(cred, {'databaseURL': 'https://mydatabase_from_firebase/'} )

Я ожидаю возврата 0, подтверждая, что это сработало, но вместо этого я получаю следующие ошибки:

TypeError: __init__() got an unexpected keyword argument 'status'

Полный возврат:

Traceback (последний вызов был последним): файл "C: /Users/Gaming/Firbase_setup/test.py", строка 3, из firebase_admin, импорт db, файл "C: \ Users \ Gaming \ Firbase_setup \"venv \ lib \ site-packages \ firebase_admin \ db.py ", строка 33, из файла firebase_admin import _http_client File" C: \ Users \ Gaming \ Firbase_setup \ venv \ lib \ site-packages \ firebase_admin_http_client.py ", строка 32,in Raise_on_status = False, backoff_factor = 0,5) Ошибка типа: init () получил неожиданный аргумент ключевого слова 'status'

1 Ответ

1 голос
/ 20 мая 2019

Это вызвано устаревшим пакетом urllib3.Я решил эту ошибку с помощью следующего решения.Вы также можете попробовать это.

Перейти к этому файлу (получено по ошибке, которую вы указали) -> C: \ Users \ Gaming \ Firbase_setup \ venv \ lib \ site-packages \ firebase_admin_http_client.py

Прокомментируйте следующие строки из firebase_admin_http_client.py:

    #from requests.packages.urllib3.util import retry
    #DEFAULT_RETRY_CONFIG = retry.Retry(
    #connect=1, read=1, status=4, status_forcelist=[500, 503],
    #raise_on_status=False, backoff_factor=0.5)

Также измените параметр init , как показано ниже в том же файле:

def __init__(
        self, credential=None, session=None, base_url='', headers=None,
        retries=1):
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...