Ubuntu PIP instala pacotes globalmente em vez de dentro do VirtualEnv

Ubuntu PIP instala pacotes globalmente em vez de dentro do VirtualEnv

Estou tentando criar um virtualenv e instalar pacotes do require.txt que tenho com o projeto.

Quando crio o ambiente, verifico se python e pip realmente vêm desse ambiente. Ou seja, quando executo:

source ./virtualenv/bin/activate

which pip

which python

Obtenho resultados que apontam para os binários localizados dentro do diretório virtualenv

Em seguida, prossigo com a instalação dos pacotes: pip install -r requirements.txt

Por um tempo, tive problemas com a pkg-resources=0.0.0linha dentro do arquivo requirements.txt. Acontece que essa linha foi inserida neste arquivo por causa de um bug no Ubuntu. Como você provavelmente pode imaginar, criei este arquivo em uma máquina Ubuntu.

Depois de eliminar a linha, a instalação continua.

No entanto, quando executo pip list após a instalação, a lista contém apenas

pip (8.1.1) pkg-resources (0.0.0) setuptools (20.7.0)

Além do mais, se eu desativar o virtualenv e executar pip list globalmente, verei que todas as dependências foram instaladas globalmente.

Há duas perguntas aqui. Uma – a mais óbvia – por que isso acontece? A segunda é como eu poderia limpar meus pacotes globais e desinstalar os poluentes que agora residem neles?

Termo aditivo:

Ainda outro comportamento bizarro consiste no seguinte. Quando tento executar sudo pip uninstall -r requirements.txta partir do virtualenv na esperança de reverter a instalação global, recebo o seguinte erro:

Não é possível desinstalar o requisito aldryn-apphooks-config, não instalado

Ou seja, parece que quando tento desinstalar, o pip tenta procurar pacotes dentro do virtualenv.

Por outro lado, ao desativar o virtualenv, posso desinstalar com sucesso os pacotes da instalação global usando o mesmo comando.

De alguma forma, há uma diferença em como o comando pip install funciona no Ubuntu quando comparado ao comando pip unlock. Eles “procuram” pacotes em lugares diferentes.

informação relacionada