Después de leer este comentario sobre la actualización de pip, ejecuté:
sudo pip3 install --upgrade pip
Como señala @ByteCommander, la actualización continúa /usr/local/bin/pip3
, mientras que la versión de la distribución (de python3-pip) se encuentra en /usr/bin/pip3
, y la primera tiene prioridad debido al orden en PATH. Parece que funciona bien, pero si ejecuto específicamente la versión de Ubuntu (16.04) me sale un error:
/usr/bin/pip3 -V
Traceback (most recent call last):
File "/usr/bin/pip3", line 9, in <module>
from pip import main
ImportError: cannot import name 'main'
Esto me hace desconfiar de las actualizaciones de Python. Entonces, estoy atascado tratando de instalar un paquete de Python que en realidad es de un repositorio de git y que no está en ningún repositorio de apt-get , y que también tiene dependencias.
Mi opinión después de muchos años de experiencia lidiando con problemas de dependencia de Python es que no debe actualizar los paquetes de Python del sistema fuera de apt. Esto siempre causa este tipo de problemas. El administrador de paquetes del sistema proporciona versiones estables de Python y varios paquetes de Python con un sistema de dependencia complejo, y cuando intenta cambiarlos manualmente fuera de apt, puede causar problemas.
Recomendaría purgar python-pip, reinstalar la versión provista por apt y luego solo usar el sistema Python para tareas relacionadas con el sistema y pequeños scripts que no necesitan paquetes adicionales. Para el trabajo de desarrollo que requiere otros paquetes que normalmente instalaría con pip, puede crear entornos virtuales (que son básicamente instalaciones nuevas de Python que no afectarán al sistema Python), o incluso mejor (IMO), instalar Anaconda Python que permite Instalar paquetes Python con pip y conda sin romper el sistema Python.
fuente
--user
. ¿Podría explicar: la instalación con--user
no funcionaría tan bien? Mi dificultad es que estoy tratando de instalar un paquete de Python que en realidad es de un repositorio de git y que no está en ningún repositorio de apt-get .Como muestra el enlace señalado por @ siddesh-chavan, hay algunos problemas con la interfaz de apt-get y el administrador de paquetes de Python. No recomendaría esa solución vinculada. En cambio, creo que es mejor leer esto , y si ya ha actualizado pip / pip3, entonces rebaje de esta manera . El resultado es que no actualice el pip o pip3 del sistema. Instala y actualiza localmente, usando
pip* install --user
.La respuesta debajo de ese segundo enlace también menciona entornos virtuales , al igual que @steve en su respuesta, ver más abajo.
fuente