
En Ubuntu 16.04 creé un entorno virtual llamado venv
y dentro del venv/lib/python2.7/site-packages
tengo nltk
y nltk-3.2.2.dist-info
como de costumbre.
Sin embargo, cuando activo el entorno virtual usando source venv/bin/activate
y 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 Interpreter
y elegir el intérprete de Python en venv. Ahora, los botones ejecutar y depurar deberían funcionar normalmente.