
No Ubuntu 16.04 criei um ambiente virtual chamado venv
e dentro do venv/lib/python2.7/site-packages
I have nltk
e nltk-3.2.2.dist-info
normalmente.
No entanto, quando eu ativo o ambiente virtual usando source venv/bin/activate
e executo um script Python que contém import nltk
, recebo o erro:
ImportError: No module named nltk
Como isso pode ser consertado?
Responder1
Com a "pip list" você sempre pode verificar quais pacotes estão instalados no seu venv.
(venv)user@home:~/venv$ pip list
pip (9.0.1)
setuptools (32.3.0)
wheel (0.29.0)
...
Responder2
Primeiro ative o venv e depois instale as dependências, por exemplo, pip install nltk
.
Os pacotes ficarão então dentro da pasta venv.
Responder3
Usando o vscode, tive esse problema ao tentar executar meu programa com os botões padrão "executar arquivo python" ou "depurar arquivo python", mesmo quando o venv estava ativado.
Eu descobri que era porque tudo o que esses botões fazem é executar um comando que usa o python padrão em seu sistema para executar seu arquivo em vez daquele no venv. Para corrigir isso, você precisa executar o programa manualmente:python path_to_your/file_name.py
Editar: depois de habilitar o venv, você pode pressionar ctrl+shift+p
, digitar Python:Select Interpreter
e escolher o interpretador python no venv. Agora, os botões de execução e depuração devem funcionar normalmente.