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.

Gancho de RDKit para Pyinstaller para crear un archivo .exe

Estoy intentando exportar un archivo de Python como un archivo .exe con Pyinstaller. Mi programa de Python utiliza el paquete RDKit, el cual no es compatible por defecto con Pyinstaller. He intentado configurar la bandera --hidden-import='rdkit' y también he colocado un archivo “hook” en el directorio de Pyinstaller con el siguiente código:


hiddenimports = [
"rdkit.",
"rdkit.ANY.
"
]

Pero aún así estoy recibiendo un montón de advertencias de 'lib not found' por parte de Pyinstaller. Cuando ejecuto el archivo .exe, obtengo el siguiente error:


"No such file or directory: 'C:\Users\...\_MEI84842\rdkit_pypi.libs\.load-order-rdkit_pypi-2021.9.2'".

Este archivo se encuentra en la carpeta rdkit_pypi.libs, al mismo nivel que la propia carpeta de rdkit.

¿Alguien tiene un archivo “hook” adecuado para RDKit o sabe cómo configurar la ruta correcta para dicho archivo?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que Pyinstaller sigue teniendo problemas para encontrar algunos de los archivos necesarios del paquete RDKit, incluso después de agregar la bandera --hidden-import y crear un archivo de enganche.

    Una solución podría ser modificar el archivo de enganche para incluir explícitamente la carpeta rdkit.lib en el ejecutable. El archivo de enganche actualizado puede verse así:

    hiddenimports = [
        "rdkit.*",
        "rdkit.ANY.*"
    ]
    
    # añadir la carpeta rdkit.lib a los binarios
    binaries = [
        ('rdkit/lib', 'rdkit/lib')
    ]
    

    Esto debería incluir la carpeta rdkit.lib en los binarios para Pyinstaller, que será incluida en el ejecutable.

    Además, puede ser útil verificar nuevamente la instalación del paquete RDKit y asegurarse de que todos los archivos necesarios estén presentes en el entorno local.

Comments are closed.