O que posso fazer quando um ambiente virtual Python não encontra módulos?

O que posso fazer quando um ambiente virtual Python não encontra módulos?

No Ubuntu 16.04 criei um ambiente virtual chamado venve dentro do venv/lib/python2.7/site-packagesI have nltke nltk-3.2.2.dist-infonormalmente.

No entanto, quando eu ativo o ambiente virtual usando source venv/bin/activatee 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 Interpretere escolher o interpretador python no venv. Agora, os botões de execução e depuração devem funcionar normalmente.

informação relacionada