Cómo solucionar el error ModuleNotFoundError: No module named ‘requests’ al abrir un ejecutable de Python generado con PyInstaller.

Error ModuleNotFoundError: No module named ‘requests’ al abrir un ejecutable de Python generado con PyInstaller

Cuando generamos un ejecutable a partir de un código Python con PyInstaller, con el comando:

Al ejecutar el fichero ia.exe generado, se produce el error:

Traceback (most recent call last): File «ia.py», line 3, in <module> ModuleNotFoundError: No module named ‘requests’ [4196] Failed to execute script ‘ia’ due to unhandled exception!

Solución al error ModuleNotFoundError: No module named ‘requests’ al abrir un ejecutable de Python generado con PyInstaller

Para solucionar el error, sigue estos pasos:

1. Asegúrate de tener instalado el módulo que te da error en tu entorno de Python, donde tengas el fichero .py usado para generar el ejecutable. En este caso, el módulo es «requests», que se instala con:

En el siguiente tutorial indicamos cómo instalar paquetes en un entorno virtual de Python;

2. Si con el módulo instalado vuelves a generar el ejecutable y te sigue dando error, fuerza la dependencia del módulo en la creación del ejecutable. Por ejemplo, para forzar a PyInstaller a que agregue la dependencia del módulo requests usa el parámetro –hidden-import, por ejemplo:

Si aún así sigue dando el error, se pueden añadir los parámetros –noconsole y –onefile: