Instalé la última versión de Ubuntu Gnome hoy y estaba configurando mi máquina para el trabajo relacionado con la ciencia de datos. Cuando intenté instalar tensorflow-gpu, me encontré con un bloqueo de pip3:
[email protected]:~/Desktop$ pip3
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/pip/_vendor/__init__.py", line 33, in vendored
__import__(vendored_name, globals(), locals(), level=0)
ImportError: No module named 'pip._vendor.pkg_resources'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/bin/pip3", line 9, in <module>
from pip import main
File "/usr/lib/python3/dist-packages/pip/__init__.py", line 13, in <module>
from pip.exceptions import InstallationError, CommandError, PipError
File "/usr/lib/python3/dist-packages/pip/exceptions.py", line 6, in <module>
from pip._vendor.six import iteritems
File "/usr/lib/python3/dist-packages/pip/_vendor/__init__.py", line 75, in <module>
vendored("pkg_resources")
File "/usr/lib/python3/dist-packages/pip/_vendor/__init__.py", line 36, in vendored
__import__(modulename, globals(), locals(), level=0)
File "<frozen importlib._bootstrap>", line 969, in _find_and_load
File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 664, in _load_unlocked
File "<frozen importlib._bootstrap>", line 634, in _load_backward_compatible
File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/__init__.py", line 2927, in <module>
File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/__init__.py", line 2913, in _call_aside
File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/__init__.py", line 2952, in _initialize_master_working_set
File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/__init__.py", line 956, in subscribe
File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/__init__.py", line 2952, in <lambda>
File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/__init__.py", line 2515, in activate
File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/__init__.py", line 2097, in declare_namespace
File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/__init__.py", line 2047, in _handle_ns
File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/__init__.py", line 2066, in _rebuild_mod_path
AttributeError: '_NamespacePath' object has no attribute 'sort'
Intenté purgar python3-pip y volver a instalarlo, todavía no funciona. Obtengo lo anterior simplemente ejecutando pip3
en la terminal y presionando ENTER.
¿Alguna idea?
EDITAR:también las dos rutas son diferentes para pip y pip3:
[email protected]:~$ which pip
/home/me/.local/bin/pip
[email protected]:~$ which pip3
/usr/bin/pip3
Respuesta aceptada:
Lo solucioné creando un nuevo entorno virtual
-
Un nuevo entorno virtual puede ser creado por:
python3 -m venv /tmp/newvenv
-
Luego verifiqué si pip funciona bien en el nuevo entorno virtual:
cd /tmp/newvenv/bin ./pip3
Esto me dio el mensaje normal como el siguiente:
Uso:
pip [opciones]
Comandos:
instalar paquetes de instalación.
descargar Descargar paquetes.
…
Sin embargo, pip3 todavía ha fallado.
pip3
Esto todavía me dio el mensaje de error.
Luego decidí copiar las versiones de trabajo de pip en el directorio de inicio. Para los dos pasos a continuación (n.º 3 y n.º 4), es posible que desee conservar copias de seguridad.
-
He sobrescrito pip y pip-9.0.1.dist-info del entorno virtual al directorio de inicio:
cp -r /tmp/newvenv/lib/python3.5/site-packages/pip ~/.local/lib/python3.5/site-packages/ cp -r /tmp/newvenv/lib/python3.5/site-packages/pip-9.0.1.dist-info ~/.local/lib/python3.5/site-packages/
-
También copié los siguientes dos archivos:
cp /tmp/newvenv/lib/python3.5/site-packages/pkg_resources/__init__.py ~/.local/lib/python3.5/site-packages/pkg_resources/ cp /tmp/newvenv/lib/python3.5/site-packages/pkg_resources/py31compat.py ~/.local/lib/python3.5/site-packages/pkg_resources/
Después de estos pasos, pip3 funciona bien en mi caso.
Relacionado:¿Cómo restaurar los repositorios predeterminados?