Quiero instalar Scipy (ya tengo instalado Numpy). Tengo Python 3.5.1-3 instalado con OS e IDLE3 (3.5.2). Cuando golpeo en la terminal
sudo pip3 install scipy
Se imprime
Traceback (most recent call last):
File "/usr/bin/pip3", line 9, in <module>
from pip import main
ImportError: cannot import name 'main'
Ya he intentado reinstalar pip3 y reiniciar el sistema operativo, pero no cambió. ¿Pip3 ha estado trabajando extrañamente con alguien más?
Usar en
python -m pip install
lugar depip install
Ejemplo:
Empecé a tener este problema después de una
pip
actualización:El ejecutable
pip
(resp.pip3
) Lo proporciona su distribución (python-pip
paquete en Ubuntu 16.04).Por lo tanto, no se mantiene actualizado con el
pip
paquete en sí a medida que actualiza pip, y puede romperse.Si solo lo usa
python -m pip
directamente, por ejemplo, como en:recorre su ruta de Python y encuentra la última versión de pip, y ejecuta ese archivo.
Se basa en el hecho de que ese archivo es ejecutable, pero ese es un tipo de interfaz muy estándar y, por lo tanto, es menos probable que se rompa que el script de Debian más pirateado.
Luego recomiendo agregar los siguientes alias a su
.bashrc
:El
/usr/bin/pip3
archivo Ubuntu 18.04 hace:y presumiblemente
main
fue eliminado depip
algún punto que es lo que rompió las cosas.La confirmación de ruptura de pip parece ser: 95bcf8c5f6394298035a7332c441868f3b0169f4 "Mover todas las API internas a pip._internal" que entró en pip 18.0.
Probado en Ubuntu 16.04 después de una actualización de
pip3
9.0.1 a 18.0.pyenv
Sin embargo, en última instancia, para el desarrollo serio de Python, solo recomendaría que instale su propio Python local con pyenv + virtualenv, que también solucionaría este error de Ubuntu: ¿Cómo instalo una versión diferente de Python usando apt-get?
fuente
/usr/bin/pip
es proporcionado por un paquete de Ubuntu Python, ypip
no lo sobrescribe. Pero elpip update
se administra porpip
sí mismo y evita tocar los archivos de Ubuntu.Debian
El comentario dice:Run the main entry point, similarly to how setuptools does it, but because we didn't install the actual entry point from setup.py, don't use the pkg_resources API.
Tal vez hay una manera de instalar Python correctamente en una forma de python./usr/bin/pip
:-)El error se encuentra en pip 10.0.0.
En Linux necesita modificar el archivo: / usr / bin / pip desde:
a esto:
fuente
pip
equipo.Tuve el mismo problema, pero desinstalar y reinstalar con apt y pip no funcionó para mí.
Vi otra solución que presenta una manera fácil de recuperar la ruta pip3:
fuente
Si bien es posible que karel haya resuelto su problema de "instalar numpy and scipy", lo que está mal con pip en su sistema no se ha solucionado, por lo que probablemente tendrá más problemas con pip en el futuro.
Mirando aquí , parece ser un problema reciente bastante común con pip 10 en sistemas Ubuntu. Es posible que encuentre algunas soluciones alternativas en ese hilo que funcionen para usted, pero con suerte una actualización lo solucionará pronto.
fuente
Instalar pip desde apt y pip puede causar esto.
En mi caso, utilicé el paquete pip de Ubuntu para instalar pipenv que luego instaló una copia más nueva de pip. Ahora, debido a que mi shell ejecuta el script pip 9 de Ubuntu (para verificar la ejecución
which pip3
) y mi intérprete de Python importa el módulo pip 10, el comando pip3 falla. Entonces quiero desinstalar uno de los dos.Es justo asumir que tienes el pip más nuevo por alguna razón. En ese caso, desea desinstalar el pip anterior de la siguiente manera:
sudo apt remove python3-pip
Si sabe con certeza que está bien con el pip más antiguo y prefiere el paquete del sistema, querrá desinstalar el más nuevo:
~/.local/bin/pip3 uninstall pip
o en su defecto
sudo /usr/local/bin/pip3 uninstall pip
fuente
tipo
Esto debería eliminar este error
fuente
Forzar la reinstalación de pip funciona bien para la mayoría de los usuarios como se muestra en esta página de github:
fuente
Mi problema terminó siendo una falta de coincidencia entre python3.6 y 3.7. La instalación de python3.6 puso un enlace
/usr/bin/python3 -> /usr/bin/python3.6
a pesar de que el sistema se había actualizado a python3.7.fuente
Esto funcionó para mí:
Por
install --upgrade
, me refiero a lo que sea que estés intentando instalar.fuente