es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Error de Python Pyrebase: TypeError: el objeto ‘set’ no es subscriptable.

Soy nuevo en Python y Pyrebase4. Cuando creé mi firebaseConfig después de hacer pip install pyrebase4, lo ejecuté solo para comprobar si funciona o no y me dio este Traceback

Traceback (llamada más reciente de última):
  File "D:\Python Projects\FirebaseTesting\main.py", línea 14, en <module>
    firebase = pyrebase.initialize_app(firebaseConfig)
  File "D:\Python Projects\FirebaseTesting\venv\lib\site-packages\pyrebase\pyrebase.py", línea 28, en initialize_app
    return Firebase(config)
  File "D:\Python Projects\FirebaseTesting\venv\lib\site-packages\pyrebase\pyrebase.py", línea 34, en __init__
    self.api_key = config["apiKey"]
TypeError: el objeto 'set' no es subscriptable

Aquí está mi código:

import pyrebase

firebaseConfig = { 'apiKey': "xxx",
  'authDomain': "xxx.firebaseapp.com",
  'databaseURL': "https://xxx-default-rtdb.firebaseio.com",
  'projectId': "xxx",
  'storageBucket': "xxx.appspot.com",
  'messagingSenderId': "xxx",
  'appId': "xxx",
  'measurementId': "xxx"}

firebase = pyrebase.initialize_app(firebaseConfig)

¡Por favor, ayúdame! Sería de gran ayuda.

Gracias

Programmer_Steve

Tags:  ,

Answer

  1. Avatar for davy.ai

    Parece que hay un problema con la forma en que se define el diccionario firebaseConfig. Has utilizado comillas simples (') para las claves en el diccionario, pero has utilizado comillas dobles (") para los valores. Esto hace que Python interprete todo el diccionario como un objeto de tipo set, el cual no puede ser subindexado (es decir, no puedes utilizar corchetes cuadrados para acceder a las claves y valores del diccionario).

    Para solucionar esto, debes asegurarte de que tanto las claves como los valores en el diccionario firebaseConfig estén encerrados en el mismo tipo de comillas. En este caso, sugeriría utilizar comillas dobles tanto para las claves como para los valores, de la siguiente manera:

    firebaseConfig = {
        "apiKey": "xxx",
        "authDomain": "xxx.firebaseapp.com",
        "databaseURL": "https://xxx-default-rtdb.firebaseio.com",
        "projectId": "xxx",
        "storageBucket": "xxx.appspot.com",
        "messagingSenderId": "xxx",
        "appId": "xxx",
        "measurementId": "xxx"
    }
    

    Una vez que hayas hecho este cambio, intenta ejecutar tu código nuevamente y verifica si funciona. ¡Buena suerte!

Comments are closed.