Hay una --useropción para pip que puede instalar un paquete de Python por usuario:
pip install --user [python-package-name]
Utilicé esta opción para instalar un paquete en un servidor para el que no tengo acceso de root. Lo que necesito ahora es desinstalar el paquete instalado en el usuario actual. Traté de ejecutar este comando:
pip uninstall --user [python-package-name]
Pero tengo:
no such option: --user
¿Cómo puedo desinstalar un paquete que instalé pip install --user, además de buscar y eliminar manualmente el paquete?
He encontrado este articulo
pip no se puede desinstalar del directorio de paquetes de sitio por usuario
que describe que desinstalar paquetes del directorio de usuarios no es compatible. Según el artículo, si se implementó correctamente, entonces con
pip uninstall [package-name]
el paquete que se instaló también se buscará en los directorios de usuarios. Pero todavía me queda un problema. ¿Qué sucede si se instaló el mismo paquete tanto en todo el sistema como por usuario? ¿Qué sucede si alguien necesita apuntar a un directorio de usuarios específico?
fuente

--userentonces, desinstalar sin--userhará lo que desee.Respuestas:
Habiendo probado esto usando Python 3.5 y pip 7.1.2 en Linux, la situación parece ser esta:
pip install --user somepackageinstala$HOME/.localy desinstalarlo funciona usandopip uninstall somepackage.Esto es cierto si
somepackagese instala o no en todo el sistema al mismo tiempo.Si el paquete se instala en ambos lugares, solo se desinstalará el local. Para desinstalar el paquete usando todo el sistema
pip, primero desinstálelo localmente, luego ejecute el mismo comando de desinstalación nuevamente, conrootprivilegios.Además del directorio de instalación de usuario predefinido,
pip install --target somedir somepackageinstalará el paquete ensomedir. No hay forma de desinstalar un paquete de ese lugar usandopip. (Pero hay una solicitud de extracción no fusionada algo antigua en Github que se implementapip uninstall --target).Dado que los únicos lugares
pipdesde los que se desinstalará son los de todo el sistema y los usuarios locales predefinidos, debe ejecutarsepip uninstallcomo el usuario respectivo para desinstalar desde el directorio de instalación local de un usuario determinado.fuente
jediinstalado/usr/lib64/python2.7/site-packages/. Cuando lo hago, como un usuario normal:pip install --user jediy luegopip uninstall jedi, pip intenta desinstalar/usr/lib64/python2.7/site-packages/jediy luego se iniciaPermission denied. Así que si--userno existe para el comando de desinstalación, ¿Cómo se desinstala digo no para tratar de desinstalar/usr/lib64/python2.7/site-packages/jedi, pero~/.local/lib64/python3.6/site-packages/jedi?ejemplo para desinstalar el paquete 'oauth2client' en MacOS:
fuente
Sin embargo, tenga cuidado con aquellos que usan
pip install --user some_pkgdentro de un entorno virtual .En este caso, debe desactivar el entorno virtual actual , luego usar el correspondiente
python/pipejecutable para enumerar o desinstalar los paquetes del sitio del usuario:Tenga en cuenta que este problema se informó hace unos años . Y parece que la conclusión actual es:
--userno es válida dentro de un entorno virtualpip, ya que la ubicación de un usuario realmente no tiene sentido para un entorno virtual.fuente
--userdentro del env virtual, ¿hay alguna manera de revertir eso ?, porquepip listqué no funciona ....Creo que es posible desinstalar paquetes instalados con
--userflag. Este me funcionó;pip freeze --user | xargs pip uninstall -yPara python 3;
pip3 freeze --user | xargs pip3 uninstall -yPero de alguna manera estos comandos no desinstalan setuptools y pip. Después de esos comandos (si realmente quieres una pitón limpia) puedes eliminarlos con;
pip uninstall setuptools && pip uninstall pipfuente
La respuesta aún no es posible . Tienes que eliminarlo manualmente.
fuente
Como @ thomas-lotze ha mencionado, actualmente las herramientas de pip no lo hacen, ya que no hay una opción de usuario correspondiente. Pero lo que encuentro es que puedo registrar ~ / .local / bin y buscar el pip #. # Específico que me parece que corresponde a la opción --user.
En mi caso:
Y luego simplemente desinstale con la versión específica de pip.
fuente
./pip2 freeze | grep -v "^-e" | xargs pip uninstall -ypara todo excepto los paquetes instalados en modo editableEstoy ejecutando Anaconda versión 4.3.22 y un entorno python3.6.1, y tuve este problema. Aquí está la historia y la solución:
Hice esto en mi entorno python3.6 y obtuve este error.
Luego, intenté descargar python3.6 y poner el python3.dll en la carpeta y en varias carpetas. nada ha cambiado.
finalmente, esto lo solucionó:
(la otra versión de conda-forge todavía está instalada) Esto dejó solo la versión de conda, y eso funciona en 3.6.
¡trabajando!
fuente