Después de una edición no tan inteligente de la versión predeterminada de Python en Ubuntu, de 2.7 a 3.2, terminé rompiendo todo mi sistema. Después de que mi computadora explotó y todo dejó de funcionar, intenté revertir mis cambios (vinculando /usr/bin/python2.7 a / usr / bin / python y cambiando la versión predeterminada en / usr / share / python / debian_defaults de nuevo a 2.7) pero algunas cosas todavía están rotas.
Por ejemplo, cuando escribo "import gi" en el intérprete de python recibo el siguiente mensaje:
>>> import gi
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named gi
>>>
error que aparece con algunos programas también (por ejemplo: herramienta de ajuste gnome). He intentado reinstalar python tanto desde el centro de software como desde las fuentes, pero el mismo error persiste.
Python - la versión ahora devuelve:
Python 2.7.2
y también algunos paquetes de software que dependen de python 2.7 ahora están funcionando (por ejemplo, el centro de software), pero algunas cosas todavía están rotas. ¿Hay algo que pueda hacer para reinstalar completamente Python 2.7 como la versión predeterminada?
sudo dpkg-reconfigure python2.7
?Respuestas:
He encontrado tres formas de hacer esto:
La manera simple:
sudo apt-get install python3-gi
o
Para usuarios de virtualenv: la manera más vext
pip install vext
pip install vext.gi
La forma pura del desarrollador de Python:
Instale un montón de cosas de desarrollador:
sudo apt-get install pkg-config libcairo2-dev gcc python3-dev libgirepository1.0-dev
Instale los paquetes de python:
pip install gobject PyGObject
fuente
Se encontró poca solución aquí que funcionó para mí:
Cambiar
#!/usr/bin/env python
a#!/usr/bin/python
fuente
python-gobject
en Arch Linux (opython3-gi
en Ubuntu) no funcionó para mí!Ejecute este comando en la terminal:
o si necesita soporte de Python2 en su lugar:
fuente
Si instaló anaconda y se ha convertido en el entorno de python predeterminado, el módulo gi se puede instalar a través de:
Ver también: https://bugs.launchpad.net/ubuntu/+source/ibus/+bug/1611523
fuente
En mi caso:
Entonces, ¿qué tiene que verificar si tiene ese archivo disponible? Si no es así, verifique esos
/usr/lib/python2.7/dist-packages/gi/__init__.py
puntos/usr/share/pyshared/gi/__init__.py
. Deberías tener ese archivo como lo tienespython-gobject 3.0.0-0ubuntu4
(sí, tengo la misma versión).Si el
gi
paquete está allí, entonces debería echar un vistazo a susys.path
salida. Si/usr/lib/python2.7/dist-packages
no está incluido, agréguelo e intente nuevamente.Una vez que la importación funciona, puede configurar su
PYTHONPATH
o investigar más a fondo la razón por la cual la ruta no está configurada correctamente.El problema pendiente probablemente sea que su
site.py
archivo no es válido por cualquier razón o, más probablemente, que no está obteniendo el correctosite.py
(debería estar debajo/usr/lib/python2.7/
). En ese caso, eche un vistazo aquí para revisar todos los directorios que usa Python para buscar ese archivo y verificar que su entorno sea correcto.fuente
Aumentar la verbosidad del intérprete contribuye en gran medida a resolver este problema. Incluso después de todo eso, intenté hacer un enlace simbólico simple del paquete dist 2.7 a mi usr / local 3.x dist-package y llegué un poco más lejos, pero no mucho.
Si puede localizar ese símbolo que falta, podría resolver este problema. Aquí está toda la salida de importación detallada que me llevó hasta aquí. Además, esto parece relevante: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=645963 , Buena suerte.
La ruta de búsqueda ni siquiera mira la ruta de python2.7. Así es como se ve desde el lado exitoso de python2.7.
fuente