¿Qué puedo hacer cuando un entorno virtual Python no encuentra módulos?

¿Qué puedo hacer cuando un entorno virtual Python no encuentra módulos?

En Ubuntu 16.04 creé un entorno virtual llamado venvy dentro del venv/lib/python2.7/site-packagestengo nltky nltk-3.2.2.dist-infocomo de costumbre.

Sin embargo, cuando activo el entorno virtual usando source venv/bin/activatey ejecuto un script de Python que contiene import nltk, aparece el error:

ImportError: No module named nltk

¿Cómo se puede arreglar esto?

Respuesta1

Con la "lista de pip" siempre puedes comprobar qué paquetes están instalados en tu venv.

(venv)user@home:~/venv$ pip list
pip (9.0.1)
setuptools (32.3.0)
wheel (0.29.0)
...

Respuesta2

Primero active venv, luego instale las dependencias, por ejemplo, pip install nltk.

Los paquetes vivirán dentro de la carpeta venv.

Respuesta3

Al usar vscode, tuve ese problema al intentar ejecutar mi programa con los botones predeterminados "ejecutar archivo python" o "depurar archivo python", incluso cuando tenía el venv activado.

Descubrí que era porque lo único que hacen esos botones es ejecutar un comando que usa el Python predeterminado en su sistema para ejecutar su archivo en lugar del que está en el venv. Para solucionarlo, debe ejecutar el programa manualmente:python path_to_your/file_name.py

Editar: después de habilitar venv, puede presionar ctrl+shift+p, luego escribir Python:Select Interpretery elegir el intérprete de Python en venv. Ahora, los botones ejecutar y depurar deberían funcionar normalmente.

información relacionada