Quantcast
Channel: Active questions tagged python - Stack Overflow
Viewing all articles
Browse latest Browse all 13921

Error: Firebase app initialized multiple times. Python

$
0
0

Okay so I get this error saying:ValueError: The default Firebase app already exists. This means you called initialize_app() more than once without providing an app name as the second argument. In most cases you only need to call initialize_app() once. But if you do want to initialize multiple apps, pass a second argument to initialize_app() to give each app a unique name.

I understand this says that the firebase app is being initialized more that once but I dont understand where exactly I'm doing it.

Ok so here are my modules of code in python:homeScreen.Py:

import sysfrom PyQt5.QtCore import Qtfrom PyQt5.QtWidgets import *from PyQt5.QtWidgets import QWidgetfrom PyQt5.QtGui import *import firebase_adminfrom firebase_admin import credentials, firestorefrom cryptography.fernet import Fernetclass HomeScreen(QWidget):    def __init__(self, name, username):        super().__init__()        self.cred = credentials.Certificate("mykey.json")        firebase_admin.initialize_app(self.cred)        self.db = firestore.client()        self.name = name        self.username = username        self.initUI()        self.cipher = Fernet('mykey')    def initUI(self):        self.setWindowTitle('Home')        self.setGeometry(100, 100, 700, 500)        greeting_message = "Hello " + self.name +". Good username: " + self.username        self.info = QLabel(greeting_message, self)        self.info.setGeometry(20, 20, 400, 50)        self.font = QFont()        self.font.setPointSize(20)        self.info.setFont(self.font)

And here is my base.py:

import sysfrom PyQt5.QtCore import Qtfrom PyQt5.QtWidgets import *from PyQt5.QtWidgets import QWidgetfrom login import *from signup import *class Options(QWidget):    def __init__(self):        super().__init__()        self.initUI()    def initUI(self):        self.setWindowTitle('h')        self.setGeometry(100, 100, 700, 500)        self.login_b = QPushButton('Login', self)        self.login_b.setGeometry(250, 150, 100, 50)        self.login_b.clicked.connect(self.login)        self.signup_b = QPushButton('Sign Up', self)        self.signup_b.setGeometry(250, 210, 100, 50)        self.signup_b.clicked.connect(self.signup)        layout = QVBoxLayout()        self.setLayout(layout)    def login(self):        self.login_window = Login()         self.login_window.show()        self.close()    def signup(self):        self.signup_window = SignUp()         self.signup_window.show()        self.close()if __name__ == '__main__':    app = QApplication(sys.argv)    window = Options()    window.show()    sys.exit(app.exec_())

And at last here is my sign up.py

import sysfrom PyQt5.QtCore import Qtfrom PyQt5.QtWidgets import *from PyQt5.QtWidgets import QWidgetfrom PyQt5.QtGui import *import firebase_adminfrom firebase_admin import credentials, firestorefrom cryptography.fernet import Fernetimport base64from homeScreen import *class SignUp(QWidget):    def __init__(self):        super().__init__()        self.initUI()        self.cipher = Fernet('mykey')        self.cred = credentials.Certificate("mypath.json")        firebase_admin.initialize_app(self.cred)        self.db = firestore.client()    def initUI(self):        self.setWindowTitle('Sign Up')        self.setGeometry(100, 100, 700, 500)        self.info = QLabel('Sign Up', self)        self.info.setGeometry(360, 100, 200, 50)        self.font = QFont()        self.font.setPointSize(20)        self.info.setFont(self.font)         self.name_t = QLineEdit(self)        self.name_t.setGeometry(300, 150, 200, 30)        self.name_t.setPlaceholderText("Full Name")        self.username_t = QLineEdit(self)        self.username_t.setGeometry(300, 200, 200, 30)        self.username_t.setPlaceholderText("Username")        self.password_t = QLineEdit(self)        self.password_t.setEchoMode(QLineEdit.Password)        self.password_t.setGeometry(300, 240, 200, 30)        self.password_t.setPlaceholderText("Password")        self.submit_b = QPushButton('Submit', self)        self.submit_b.setGeometry(300, 280, 200, 50)        self.submit_b.clicked.connect(self.submit_info)        layout = QVBoxLayout()        self.setLayout(layout)    def submit_info(self):        password_bytes = self.password_t.text().encode()        encrypted_password = base64.b64encode(self.cipher.encrypt(password_bytes)).decode()        self.db.collection('users').add({'name': self.name_t.text(), 'username': self.username_t.text(), 'password': encrypted_password})        self.login_window = HomeScreen(self.name_t.text(), self.username_t.text())         self.login_window.show()        self.close()

Please comment for any further clarification


Viewing all articles
Browse latest Browse all 13921

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>