Cómo solucionar el error ModuleNotFoundError en Python dentro de Virtualenv
El error ModuleNotFoundError: No module named 'nombre_modulo' es una de las excepciones más comunes en Python. Ocurre cuando el intérprete intenta importar una librería externa o módulo interno que no está presente en la ruta de búsqueda de paquetes (sys.path) de la instancia activa de Python.
El error ModuleNotFoundError: No module named 'nombre_modulo' es una de las excepciones más comunes en Python. Ocurre cuando el intérprete intenta importar una librería externa o módulo interno que no está presente en la ruta de búsqueda de paquetes (sys.path) de la instancia activa de Python.
El Diagnóstico Rápido
ModuleNotFoundError: No module named 'libreria': El script se ejecuta con el Python global del sistema o la librería se instaló fuera del entorno virtual activosource venv/bin/activate), verificar la ruta del binario e instalar la librería con python -m pip installLa Solución Paso a Paso
-
1
Paso 1: Confirmar la activación del entorno virtual
Comprueba si tu entorno virtual está activo y verifica cuál intérprete de Python se está ejecutando:
BASH# En Linux / macOS: activar entorno virtual source venv/bin/activate # En Windows (PowerShell): .\venv\Scripts\Activate.ps1 # Verificar qué intérprete está respondiendo which python # En Linux/macOS where python # En Windows(La salida debe apuntar a la ruta interna de tu carpeta
venv/bin/python, no a/usr/bin/python). -
2
Paso 2: Instalar la dependencia usando la sintaxis del módulo pip
Para garantizar que los paquetes se instalen dentro del entorno virtual correspondiente y no en el sistema global, instala siempre usando
python -m pip:BASHpython -m pip install nombre_moduloPara verificar que la librería se instaló correctamente en el entorno activo:
BASHpython -m pip list -
3
Paso 3: Configurar el intérprete de Python en tu IDE (VS Code / PyCharm)
Si el script funciona desde la consola pero falla dentro de tu editor de código:
- VS Code: Presiona
Ctrl + Shift + P(oCmd + Shift + Pen Mac), escribePython: Select Interpretery selecciona el binario localizado dentro de la carpetavenv/bin/python. - PyCharm: Ve a
Settings>Project>Python Interpretery selecciona el entorno virtual creado en el proyecto.
- VS Code: Presiona
Consejo de Prevención
Prácticas de seguridad recomendadas:
- Utilizar
requirements.txtopyproject.toml: Mantén un registro actualizado de las dependencias instaladas en tu proyecto ejecutandopip freeze > requirements.txt. - Evitar mezclar entornos de sistema con proyectos: Nunca instales librerías de proyectos con
sudo pip install. - Usar siempre
python -m pip: Invocarpipdirectamente puede apuntar a una versión global distinta si las variables de entorno$PATHno están sincronizadas.