ModuleNotFoundError: Ningún módulo llamado 'google' en python 3.6.7
Estoy haciendo un script que recibe algunos argumentos y los uso para manipular una base de datos en tiempo real de Firebase.
Cuando ejecuto el script en cmd (estoy en una computadora con Windows 10) escribiendompython myScript.py arg1 arg2 ...
funciona bien. Pero cuando uso cx_Freeze para compilar mi .exe, dice que faltan módulos
Missing modules:
? Cookie imported from requests.compat
? OpenSSL.SSL imported from urllib3.contrib.pyopenssl
? OpenSSL.crypto imported from urllib3.contrib.pyopenssl
? StringIO imported from requests.compat, six, urllib3.packages.six
....
? urllib3.packages.six.moves.urllib.parse imported from
urllib3.poolmanager, urllib3.request
? urlparse imported from requests.compat
? vms_lib imported from platform
This is not necessarily a problem - the modules may not be needed on this
platform.
Y también muestra
Traceback (most recent call last):
File "C:\Users\engenharia1\AppData\Local\Programs\Python\Python36\lib\site-packages\cx_Freeze\initscripts\__startup__.py", line 14, in run
module.run()
File "C:\Users\engenharia1\AppData\Local\Programs\Python\Python36\lib\site-packages\cx_Freeze\initscripts\Console.py", line 26, in run
exec(code, m.__dict__)
File "Api2.py", line 8, in <module>
File "C:\Users\engenharia1\AppData\Local\Programs\Python\Python36\lib\site-packages\firebase_admin\__init__.py", line 23, in <module>
from firebase_admin import credentials
File "C:\Users\engenharia1\AppData\Local\Programs\Python\Python36\lib\site-packages\firebase_admin\credentials.py", line 20, in <module>
import google.auth
ModuleNotFoundError: No module named 'google'
Misetup.py
import sys
from cx_Freeze import setup, Executable
setup (
name = "pyFirebase",
version = "1.1",
executables = [Executable("pyFirebase.py")]
)
Mis importaciones enpyFirebase.py
(no se muestra todo el programa porque es de mi trabajo, no puedo, lo siento)
import sys
import os
import datetime
import firebase_admin
from firebase_admin import credentials
from firebase_admin import db
from random import randint
Y mi forma de manejar con los args
if(len(sys.argv) == 5):
var1 = args[1]
Hice una prueba usando solo los argumentos y compilando el .exe y funcionó, por lo que probablemente el problema sea con los módulos o con mi entorno.
¿Algunas ideas