2

I am trying to connect the firebase authentication.I installed required modules but the above error I couldn't solve.

I tried to create a hooks directry for gcloud but still not solved the problem.

import pyrebase
config = {
  "apiKey": "AIzaSyA13_Zm0WCy4Rg1gPVZ12kPM4p5ei6b40A",
  "authDomain": "timbercal-ecrew1.firebaseapp.com",
  "databaseURL": "https://timbercal-ecrew1.firebaseio.com",
  "storageBucket": "timbercal-ecrew1.appspot.com"
}
firebase = pyrebase.initialize_app(config)
print("Hi Sam")

Here is the error I'm getting:

Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "C:\Program Files\JetBrains\PyCharm 2019.1.1\helpers\pydev\_pydev_bundle\pydev_umd.py", line 197, in runfile
    pydev_imports.execfile(filename, global_vars, local_vars)  # execute the script
  File "C:\Program Files\JetBrains\PyCharm 2019.1.1\helpers\pydev\_pydev_imps\_pydev_execfile.py", line 18, in execfile
    exec(compile(contents+"\n", file, 'exec'), glob, loc)
  File "C:/Users/samas/PycharmProjects/Testind2/FirebaseAuth.py", line 1, in <module>
    import pyrebase
  File "C:\Program Files\JetBrains\PyCharm 2019.1.1\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line 21, in do_import
    module = self._system_import(name, *args, **kwargs)
  File "C:\Users\samas\AppData\Local\Programs\Python\Python37-32\lib\pyrebase\__init__.py", line 1, in <module>
    from .pyrebase import initialize_app
  File "C:\Program Files\JetBrains\PyCharm 2019.1.1\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line 21, in do_import
    module = self._system_import(name, *args, **kwargs)
  File "C:\Users\samas\AppData\Local\Programs\Python\Python37-32\lib\pyrebase\pyrebase.py", line 18, in <module>
    from gcloud import storage
  File "C:\Program Files\JetBrains\PyCharm 2019.1.1\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line 21, in do_import
    module = self._system_import(name, *args, **kwargs)
  File "C:\Users\samas\AppData\Local\Programs\Python\Python37-32\lib\gcloud\__init__.py", line 19, in <module>
    __version__ = get_distribution('gcloud').version
  File "C:\Users\samas\AppData\Local\Programs\Python\Python37-32\lib\pkg_resources\__init__.py", line 481, in get_distribution
    dist = get_provider(dist)
  File "C:\Users\samas\AppData\Local\Programs\Python\Python37-32\lib\pkg_resources\__init__.py", line 357, in get_provider
    return working_set.find(moduleOrReq) or require(str(moduleOrReq))[0]
  File "C:\Users\samas\AppData\Local\Programs\Python\Python37-32\lib\pkg_resources\__init__.py", line 900, in require
    needed = self.resolve(parse_requirements(requirements))
  File "C:\Users\samas\AppData\Local\Programs\Python\Python37-32\lib\pkg_resources\__init__.py", line 786, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'gcloud' distribution was not found and is required by the application
Nazim Kerimbekov
  • 4,712
  • 8
  • 34
  • 58
Samasha
  • 369
  • 1
  • 5
  • 16
  • *"I installed required modules"*: Open a terminal and do `pip show pyrebase`. [Edit] your Question to show the output. – stovfl Apr 27 '19 at 20:26
  • I also installed required modules.But after installed gcolud I am getting above error – Samasha Apr 29 '19 at 08:02
  • 1
    *"also installed required modules"*: The `pyrebase` module tells otherwise: *"DistributionNotFound: The 'gcloud...'"*: **PLEASE**, do `pip show pyrebase` and `pip show gcloud`, [edit] your Question and **show** the output. – stovfl Apr 29 '19 at 08:14

1 Answers1

0

I had the same error, I fixed it using hooks mechanism provided by pyinstaller you can try what I did. Create a folder named hooks inside the same working directory. Inside hooks folder create a file named hooks-gcloud.py

content of hooks-gcloud.py

from PyInstaller.utils.hooks import copy_metadata, collect_data_files
datas = copy_metadata('gcloud')
datas += collect_data_files('requests')

then try run pyinstaller command.

pyinstaller -F --noconsole --hidden-import="pyrebase" --additional-hooks-dir ./hooks/ --clean filetocompile.py

you may add --clean to remove cache.

Take look to this issue.

dijux
  • 541
  • 5
  • 8