Ubuntu PIP instala paquetes globalmente en lugar de dentro de VirtualEnv

Ubuntu PIP instala paquetes globalmente en lugar de dentro de VirtualEnv

Estoy intentando crear un virtualenv e instalar paquetes desde requisitos.txt que tengo con el proyecto.

Cuando creo el entorno, compruebo que Python y Pip efectivamente provienen de ese entorno. Es decir, cuando ejecuto:

source ./virtualenv/bin/activate

which pip

which python

Obtengo resultados que apuntan a los binarios ubicados dentro del directorio virtualenv

Luego procedo a instalar los paquetes: pip install -r requirements.txt

Por un tiempo, me estaba dando problemas con la pkg-resources=0.0.0línea dentro del archivo de requisitos.txt. Al final, esa línea se ingresa en este archivo debido a un error en Ubuntu. Como probablemente puedas suponer, creé este archivo en una máquina Ubuntu.

Una vez que tacho la línea, la instalación continúa.

Sin embargo, cuando ejecuto pip list después de la instalación, la lista contiene solo

pip (8.1.1) paquete-recursos (0.0.0) herramientas de configuración (20.7.0)

Es más, si desactivo virtualenv y ejecuto pip list globalmente, veo que todas las dependencias se instalaron globalmente.

Hay dos preguntas aquí. Una, que es muy obvia: ¿por qué sucede? La segunda es ¿cómo podría limpiar mis paquetes globales y desinstalar los contaminantes que ahora residen allí?

Apéndice:

Otro comportamiento extraño más consiste en lo siguiente. Cuando intento ejecutar sudo pip uninstall -r requirements.txtdesde virtualenv con la esperanza de revertir la instalación global, aparece el siguiente error:

No se puede desinstalar el requisito aldryn-apphooks-config, no instalado

Es decir, parece que cuando intento desinstalar, pip intenta buscar paquetes dentro de virtualenv.

Por otro lado, cuando desactivo virtualenv, puedo desinstalar exitosamente los paquetes de la instalación global usando el mismo comando.

De alguna manera, hay una diferencia en cómo funciona el comando pip install en Ubuntu en comparación con el comando pip uninstall. "Buscan" paquetes en diferentes lugares.

información relacionada