Desinstale la dependencia de pip con un guión al comienzo de su nombre

Desinstale la dependencia de pip con un guión al comienzo de su nombre

Accidentalmente instalé globalmente un paquete llamado -igalixirpip3. Cuando intento desinstalarlo, pip3 uninstall -igalixirse interpreta -igalixircomo una opción de línea de comando. Intenté rodearlo entre comillas, lo cual tampoco funciona.

La salida de pip3 listy pip3 freezees la siguiente:

$ pip3 list
Package    Version
---------- -------
-igalixir  1.0.19
click      6.7
pip        19.0.3
proxy.py   0.3
Pygments   2.2.0
requests   2.13.0
rollbar    0.13.18
setuptools 40.8.0
six        1.12.0
stripe     1.51.0
wheel      0.33.1

$ pip3 freeze
Could not parse requirement: -igalixir
click==6.7
proxy.py==0.3
Pygments==2.2.0
requests==2.13.0
rollbar==0.13.18
six==1.12.0
stripe==1.51.0

Ni siquiera estoy seguro de cómo lo instalé en primer lugar si es un nombre de paquete no válido. ¿Hay alguna forma de eliminar esto de forma limpia de mi sistema? No quiero que haya archivos aleatorios en mi sistema, así que prefiero que se desinstalen correctamente.

EDITAR

Intenté separar el -igialixirtérmino con --, así: pip3 uninstall -- -igalixir, y aunque ya no se interpreta -igialixarcomo una opción de línea de comando, todavía no lo acepta porque es un requisito no válido.

$ pip3 uninstall -- -igalixir
Invalid requirement: '-igalixir'

Respuesta1

Las cotizaciones son interpretadas y eliminadas por el shell, pip ni siquiera las recibe.

La forma estándar de tratar estos casos en las utilidades GNU es utilizar el doble guión:

sometool -somearg -otherarg -- -these -are -interpreted -as -file -names

Supongo que pip también puede utilizar esta convención.

Respuesta2

Me encontré con una situación similar. Lo que funcionó para mí fue ejecutar el siguiente comando para ver dónde reside la instalación:

pip show -- -pkgname

Luego fui a esa carpeta y simplemente eliminé la carpeta infractora (aparecía con un guión pero el nombre de la carpeta comenzaba con un signo de tilde, ~pkgname).

Eso resolvió el problema en mi caso.

información relacionada