Acabo de actualizar de 16.04 a 17.10, y cada vez que intento ejecutar cualquier comando python2.7, recibo este error:
pip install --upgrade pip
Traceback (most recent call last):
File "/home/XXXX/bin/pip", line 7, in <module>
from pip import main
File "/home/XXXX/local/lib/python2.7/site-packages/pip/__init__.py",
line 5, in <module>
import logging
File "/usr/lib/python2.7/logging/__init__.py", line 26, in <module>
import sys, os, time, cStringIO, traceback, warnings, weakref,
collections
File "/home/XXXX/lib/python2.7/weakref.py", line 14, in <module>
from _weakref import (
ImportError: cannot import name _remove_dead_weakref
Otro usuario tuvo un problema similar, pero esto afecta a cualquier programa de Python que intento ejecutar. No puedo instalar nada a través de pip, ni usar ningún script de Python. Realmente no tengo idea de qué hacer, la asistencia sería muy apreciada.
La salida de "python --version" es
Python 2.7.12
sin embargo, "actualizar Python" produce:
python is already the newest version (2.7.14-2ubuntu1).
python-2.7
Alaisdar Alves
fuente
fuente
ImportError: cannot import name _remove_dead_weakref
. Mi Python es 2.7.14Respuestas:
Esta no es una solución de Ubuntu, pero debido a que esta pregunta aparece alta en los resultados de búsqueda del error, quería decir que tuve este error en OSX porque mi sistema predeterminado Python era 2.7, y preparé "python @ 2" instalado mientras Instalando otro paquete.
Si está en OSX y está utilizando homebrew, verifique sus paquetes instalados con brew ejecutándose
brew list
, y si aparece "python @ 2" en esa lista, y Python 2.7 es su Python del sistema, puede eliminar el paquete instalado con brewbrew remove python@2 --ignore-dependencies
fuente
swift
en Mac, recibí los errores mencionados anteriormente. Resultó que era porque estaba usando python2 de brew. Eliminarlo solucionó mi problema.lldb
advertencia.En caso de que estuviera utilizando un entorno virtual, deberá volver a crearlo. La otra posibilidad es que use alguna versión de python basada en fuente o instalada lateralmente que entre en conflicto con la del sistema. En ese caso, debe resolver que las carpetas y rutas correctas estén configuradas desde los distintos entornos.
fuente
En mi caso, fue un error relacionado con el entorno virtual. Por lo tanto, crear un nuevo entorno virtual funcionó para mí. Aquí está la lista de comandos que pueden ayudarlo en lo mismo.
Instalación de entorno virtual:
Crear un nuevo entorno virtual:
Activando el entorno virtual:
Desactivar su entorno virtual:
fuente