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-gio
Para usuarios de virtualenv: la manera más vext
pip install vextpip install vext.giLa 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-devInstale los paquetes de python:
pip install gobject PyGObjectfuente
Se encontró poca solución aquí que funcionó para mí:
Cambiar
#!/usr/bin/env pythona#!/usr/bin/pythonfuente
python-gobjecten Arch Linux (opython3-gien 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__.pypuntos/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
gipaquete está allí, entonces debería echar un vistazo a susys.pathsalida. Si/usr/lib/python2.7/dist-packagesno está incluido, agréguelo e intente nuevamente.Una vez que la importación funciona, puede configurar su
PYTHONPATHo 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.pyarchivo 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.
sudo ln -s /usr/lib/python2.7/dist-packages/gi/ /usr/local/lib/python3.2/dist-packages ~ $ python3 Python 3.2.2+ (predeterminado, 16 de febrero de 2012, 19:05:44) [GCC 4.6.2] en linux2 Escriba "ayuda", "derechos de autor", "créditos" o "licencia" para obtener más información. >>> importar gi Rastreo (llamadas recientes más última): Archivo "", línea 1, en Archivo "/usr/local/lib/python3.2/dist-packages/gi/__init__.py", línea 23, en desde ._gi import _API, repositorio ImportError: /usr/lib/libpyglib-gi-2.0-python2.7.so.0: símbolo indefinido: _Py_ZeroStructSi 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.
>>> importar gi # intentando gi.so # intentando gimodule.so # intentando gi.py # intentando gi.pyc # intentando /usr/lib/python2.7/gi.so # intentando /usr/lib/python2.7/gimodule.so # intentando /usr/lib/python2.7/gi.py # intentando /usr/lib/python2.7/gi.pyc # intentando /usr/lib/python2.7/plat-linux2/gi.so # intentando /usr/lib/python2.7/plat-linux2/gimodule.so # intentando /usr/lib/python2.7/plat-linux2/gi.py # intentando /usr/lib/python2.7/plat-linux2/gi.pyc # intentando /usr/lib/python2.7/lib-tk/gi.so # intentando /usr/lib/python2.7/lib-tk/gimodule.so # intentando /usr/lib/python2.7/lib-tk/gi.py # intentando /usr/lib/python2.7/lib-tk/gi.pyc # intentando /usr/lib/python2.7/lib-dynload/gi.so # intentando /usr/lib/python2.7/lib-dynload/gimodule.so # intentando /usr/lib/python2.7/lib-dynload/gi.py # intentando /usr/lib/python2.7/lib-dynload/gi.pyc # intentando /usr/local/lib/python2.7/dist-packages/gi.so # intentando /usr/local/lib/python2.7/dist-packages/gimodule.so # intentando /usr/local/lib/python2.7/dist-packages/gi.py # intentando /usr/local/lib/python2.7/dist-packages/gi.pyc import gi # directorio /usr/lib/python2.7/dist-packages/gi # intentando /usr/lib/python2.7/dist-packages/gi/__init__.so # intentando /usr/lib/python2.7/dist-packages/gi/__init__module.so # intentando /usr/lib/python2.7/dist-packages/gi/__init__.py # /usr/lib/python2.7/dist-packages/gi/__init__.pyc coincide con /usr/lib/python2.7/dist-packages/gi/__init__.py import gi # precompilado desde /usr/lib/python2.7/dist-packages/gi/__init__.pyc # intentando __futuro__.so # intentando __future__module.so # intentando __futuro__.py # intentando __futuro __. pyc # intentando /usr/lib/python2.7/__future__.so # intentando /usr/lib/python2.7/__future__module.so # intentando /usr/lib/python2.7/__future__.py # /usr/lib/python2.7/__future__.pyc coincide con /usr/lib/python2.7/__future__.py import __future__ # precompilado desde /usr/lib/python2.7/__future__.pyc # intentando /usr/lib/python2.7/dist-packages/gi/_gi.so dlopen ("/ usr / lib / python2.7 / dist-packages / gi / _gi.so", 2); import gi._gobject # directory /usr/lib/python2.7/dist-packages/gi/_gobject # intentando /usr/lib/python2.7/dist-packages/gi/_gobject/__init__.so # intentando /usr/lib/python2.7/dist-packages/gi/_gobject/__init__module.so # testing /usr/lib/python2.7/dist-packages/gi/_gobject/__init__.py # /usr/lib/python2.7/dist-packages/gi/_gobject/__init__.pyc coincide con /usr/lib/python2.7/dist-packages/gi/_gobject/__init__.py import gi._gobject # precompilado de /usr/lib/python2.7/dist-packages/gi/_gobject/__init__.pyc # intentando /usr/lib/python2.7/dist-packages/gi/_gobject/sys.so # intentando /usr/lib/python2.7/dist-packages/gi/_gobject/sysmodule.so # intentando /usr/lib/python2.7/dist-packages/gi/_gobject/sys.py # intentando /usr/lib/python2.7/dist-packages/gi/_gobject/sys.pyc import gi._glib # directorio /usr/lib/python2.7/dist-packages/gi/_glib # intentando /usr/lib/python2.7/dist-packages/gi/_glib/__init__.so # intentando /usr/lib/python2.7/dist-packages/gi/_glib/__init__module.so # intentando /usr/lib/python2.7/dist-packages/gi/_glib/__init__.py # /usr/lib/python2.7/dist-packages/gi/_glib/__init__.pyc coincide con /usr/lib/python2.7/dist-packages/gi/_glib/__init__.py importe gi._glib # precompilado desde /usr/lib/python2.7/dist-packages/gi/_glib/__init__.pyc # intentando /usr/lib/python2.7/dist-packages/gi/_glib/_glib.so dlopen ("/ usr / lib / python2.7 / dist-packages / gi / _glib / _glib.so", 2); importe gi._glib._glib # cargado dinámicamente desde /usr/lib/python2.7/dist-packages/gi/_glib/_glib.so # intentando /usr/lib/python2.7/dist-packages/gi/_glib/option.so # intentando /usr/lib/python2.7/dist-packages/gi/_glib/optionmodule.so # intentando /usr/lib/python2.7/dist-packages/gi/_glib/option.py # /usr/lib/python2.7/dist-packages/gi/_glib/option.pyc coincide con /usr/lib/python2.7/dist-packages/gi/_glib/option.py import gi._glib.option # precompilado de /usr/lib/python2.7/dist-packages/gi/_glib/option.pyc # intentando /usr/lib/python2.7/dist-packages/gi/_glib/sys.so # intentando /usr/lib/python2.7/dist-packages/gi/_glib/sysmodule.so # intentando /usr/lib/python2.7/dist-packages/gi/_glib/sys.py # intentando /usr/lib/python2.7/dist-packages/gi/_glib/sys.pyc # intentando /usr/lib/python2.7/dist-packages/gi/_glib/optparse.so # intentando /usr/lib/python2.7/dist-packages/gi/_glib/optparsemodule.so # intentando /usr/lib/python2.7/dist-packages/gi/_glib/optparse.py # intentando /usr/lib/python2.7/dist-packages/gi/_glib/optparse.pyc # intentando optparse.so # intentando optparsemodule.so # intentando optparse.py # intentando optparse.pyc # intentando /usr/lib/python2.7/optparse.so # intentando /usr/lib/python2.7/optparsemodule.so # intentando /usr/lib/python2.7/optparse.py # /usr/lib/python2.7/optparse.pyc coincide con /usr/lib/python2.7/optparse.py import optparse # precompilado desde /usr/lib/python2.7/optparse.pyc # intentando textwrap.so # intentando textwrapmodule.so # intentando textwrap.py # intentando textwrap.pyc # intentando /usr/lib/python2.7/textwrap.so # intentando /usr/lib/python2.7/textwrapmodule.so # intentando /usr/lib/python2.7/textwrap.py # /usr/lib/python2.7/textwrap.pyc coincide con /usr/lib/python2.7/textwrap.py importar textwrap # precompilado desde /usr/lib/python2.7/textwrap.pyc # tratando string.so # intentando stringmodule.so # intentando string.py # intentando string.pyc # intentando /usr/lib/python2.7/string.so # intentando /usr/lib/python2.7/stringmodule.so # intentando /usr/lib/python2.7/string.py # /usr/lib/python2.7/string.pyc coincide con /usr/lib/python2.7/string.py importar cadena # precompilada desde /usr/lib/python2.7/string.pyc Importar strop # incorporado # intentando gettext.so # intentando gettextmodule.so # intentando gettext.py # intentando gettext.pyc # intentando /usr/lib/python2.7/gettext.so # intentando /usr/lib/python2.7/gettextmodule.so # intentando /usr/lib/python2.7/gettext.py # /usr/lib/python2.7/gettext.pyc coincide con /usr/lib/python2.7/gettext.py importar gettext # precompilado desde /usr/lib/python2.7/gettext.pyc # intentando locale.so # intentando localemodule.so # intentando locale.py # intentando locale.pyc # intentando /usr/lib/python2.7/locale.so # intentando /usr/lib/python2.7/localemodule.so # intentando /usr/lib/python2.7/locale.py # /usr/lib/python2.7/locale.pyc coincide con /usr/lib/python2.7/locale.py importar la configuración regional # precompilada desde /usr/lib/python2.7/locale.pyc operador de importación # incorporado # probar functools.so # probar functoolsmodule.so # probar functools.py # probar functools.pyc # intentando /usr/lib/python2.7/functools.so # intentando /usr/lib/python2.7/functoolsmodule.so # intentando /usr/lib/python2.7/functools.py # /usr/lib/python2.7/functools.pyc coincide con /usr/lib/python2.7/functools.py import functools # precompilado desde /usr/lib/python2.7/functools.pyc import _functools # incorporado importar _locale # incorporado # intentando copy.so # intentando copymodule.so # intentando copy.py # intentando copy.pyc # intentando /usr/lib/python2.7/copy.so # intentando /usr/lib/python2.7/copymodule.so # intentando /usr/lib/python2.7/copy.py # /usr/lib/python2.7/copy.pyc coincide con /usr/lib/python2.7/copy.py Importar copia # precompilada de /usr/lib/python2.7/copy.pyc # intentando weakref.so # intentando weakrefmodule.so # intentando weakref.py # intentando weakref.pyc # intentando /usr/lib/python2.7/weakref.so # intentando /usr/lib/python2.7/weakrefmodule.so # intentando /usr/lib/python2.7/weakref.py # /usr/lib/python2.7/weakref.pyc coincide con /usr/lib/python2.7/weakref.py import weakref # precompilado desde /usr/lib/python2.7/weakref.pyc # intentando org.so # intentando orgmodule.so # intentando org.py # intentando org.pyc # intentando /usr/lib/python2.7/org.so # intentando /usr/lib/python2.7/orgmodule.so # intentando /usr/lib/python2.7/org.py # intentando /usr/lib/python2.7/org.pyc # intentando /usr/lib/python2.7/plat-linux2/org.so # intentando /usr/lib/python2.7/plat-linux2/orgmodule.so # intentando /usr/lib/python2.7/plat-linux2/org.py # intentando /usr/lib/python2.7/plat-linux2/org.pyc # intentando /usr/lib/python2.7/lib-tk/org.so # intentando /usr/lib/python2.7/lib-tk/orgmodule.so # intentando /usr/lib/python2.7/lib-tk/org.py # intentando /usr/lib/python2.7/lib-tk/org.pyc # intentando /usr/lib/python2.7/lib-dynload/org.so # intentando /usr/lib/python2.7/lib-dynload/orgmodule.so # intentando /usr/lib/python2.7/lib-dynload/org.py # intentando /usr/lib/python2.7/lib-dynload/org.pyc # intentando /usr/local/lib/python2.7/dist-packages/org.so # intentando /usr/local/lib/python2.7/dist-packages/orgmodule.so # intentando /usr/local/lib/python2.7/dist-packages/org.py # intentando /usr/local/lib/python2.7/dist-packages/org.pyc # intentando /usr/lib/python2.7/dist-packages/org.so # intentando /usr/lib/python2.7/dist-packages/orgmodule.so # intentando /usr/lib/python2.7/dist-packages/org.py # intentando /usr/lib/python2.7/dist-packages/org.pyc # intentando /usr/lib/python2.7/dist-packages/PIL/org.so # intentando /usr/lib/python2.7/dist-packages/PIL/orgmodule.so # intentando /usr/lib/python2.7/dist-packages/PIL/org.py # intentando /usr/lib/python2.7/dist-packages/PIL/org.pyc # intentando /usr/lib/python2.7/dist-packages/gst-0.10/org.so # intentando /usr/lib/python2.7/dist-packages/gst-0.10/orgmodule.so # intentando /usr/lib/python2.7/dist-packages/gst-0.10/org.py # intentando /usr/lib/python2.7/dist-packages/gst-0.10/org.pyc # intentando /usr/lib/python2.7/dist-packages/gtk-2.0/org.so # intentando /usr/lib/python2.7/dist-packages/gtk-2.0/orgmodule.so # intentando /usr/lib/python2.7/dist-packages/gtk-2.0/org.py # intentando /usr/lib/python2.7/dist-packages/gtk-2.0/org.pyc # intentando /usr/lib/pymodules/python2.7/org.so # intentando /usr/lib/pymodules/python2.7/orgmodule.so # intentando /usr/lib/pymodules/python2.7/org.py # intentando /usr/lib/pymodules/python2.7/org.pyc # intentando /usr/lib/python2.7/dist-packages/ubuntu-sso-client/org.so # testing /usr/lib/python2.7/dist-packages/ubuntu-sso-client/orgmodule.so # intentando /usr/lib/python2.7/dist-packages/ubuntu-sso-client/org.py # intentando /usr/lib/python2.7/dist-packages/ubuntu-sso-client/org.pyc # intentando /usr/lib/python2.7/dist-packages/ubuntuone-client/org.so # intentando /usr/lib/python2.7/dist-packages/ubuntuone-client/orgmodule.so # intentando /usr/lib/python2.7/dist-packages/ubuntuone-client/org.py # intentando /usr/lib/python2.7/dist-packages/ubuntuone-client/org.pyc # intentando /usr/lib/python2.7/dist-packages/ubuntuone-control-panel/org.so # intentando /usr/lib/python2.7/dist-packages/ubuntuone-control-panel/orgmodule.so # intentando /usr/lib/python2.7/dist-packages/ubuntuone-control-panel/org.py # intentando /usr/lib/python2.7/dist-packages/ubuntuone-control-panel/org.pyc # intentando /usr/lib/python2.7/dist-packages/ubuntuone-couch/org.so # intentando /usr/lib/python2.7/dist-packages/ubuntuone-couch/orgmodule.so # intentando /usr/lib/python2.7/dist-packages/ubuntuone-couch/org.py # intentando /usr/lib/python2.7/dist-packages/ubuntuone-couch/org.pyc # intentando /usr/lib/python2.7/dist-packages/ubuntuone-installer/org.so # intentando /usr/lib/python2.7/dist-packages/ubuntuone-installer/orgmodule.so # intentando /usr/lib/python2.7/dist-packages/ubuntuone-installer/org.py # intentando /usr/lib/python2.7/dist-packages/ubuntuone-installer/org.pyc # intentando /usr/lib/python2.7/dist-packages/ubuntuone-storage-protocol/org.so # intentando /usr/lib/python2.7/dist-packages/ubuntuone-storage-protocol/orgmodule.so # intentando /usr/lib/python2.7/dist-packages/ubuntuone-storage-protocol/org.py # intentando /usr/lib/python2.7/dist-packages/ubuntuone-storage-protocol/org.pyc # intentando struct.so # intentando structmodule.so # intentando struct.py # intentando struct.pyc # intentando /usr/lib/python2.7/struct.so # intentando /usr/lib/python2.7/structmodule.so # intentando /usr/lib/python2.7/struct.py # /usr/lib/python2.7/struct.pyc coincide con /usr/lib/python2.7/struct.py import struct # precompilado desde /usr/lib/python2.7/struct.pyc import _struct # builtin # intentando /usr/lib/python2.7/dist-packages/gi/_glib/gi.so # intentando /usr/lib/python2.7/dist-packages/gi/_glib/gimodule.so # intentando /usr/lib/python2.7/dist-packages/gi/_glib/gi.py # intentando /usr/lib/python2.7/dist-packages/gi/_glib/gi.pyc # intentando /usr/lib/python2.7/dist-packages/gi/_gobject/constants.so # intentando /usr/lib/python2.7/dist-packages/gi/_gobject/constantsmodule.so # intentando /usr/lib/python2.7/dist-packages/gi/_gobject/constants.py # /usr/lib/python2.7/dist-packages/gi/_gobject/constants.pyc coincide con /usr/lib/python2.7/dist-packages/gi/_gobject/constants.py import gi._gobject.constants # precompilado de /usr/lib/python2.7/dist-packages/gi/_gobject/constants.pyc # intentando /usr/lib/python2.7/dist-packages/gi/_gobject/_gobject.so dlopen ("/ usr / lib / python2.7 / dist-packages / gi / _gobject / _gobject.so", 2); import gi._gobject._gobject # cargado dinámicamente desde /usr/lib/python2.7/dist-packages/gi/_gobject/_gobject.so # intentando /usr/lib/python2.7/dist-packages/gi/_gobject/propertyhelper.so # intentando /usr/lib/python2.7/dist-packages/gi/_gobject/propertyhelpermodule.so # testing /usr/lib/python2.7/dist-packages/gi/_gobject/propertyhelper.py # /usr/lib/python2.7/dist-packages/gi/_gobject/propertyhelper.pyc coincide con /usr/lib/python2.7/dist-packages/gi/_gobject/propertyhelper.py import gi._gobject.propertyhelper # precompilado de /usr/lib/python2.7/dist-packages/gi/_gobject/propertyhelper.pyc # intentando /usr/lib/python2.7/dist-packages/gi/_gobject/GTypeWrapper.so # intentando /usr/lib/python2.7/dist-packages/gi/_gobject/GTypeWrappermodule.so # intentando /usr/lib/python2.7/dist-packages/gi/_gobject/GTypeWrapper.py # intentando /usr/lib/python2.7/dist-packages/gi/_gobject/GTypeWrapper.pyc # intentando datetime.so # intentando datetimemodule.so # intentando datetime.py # intentando datetime.pyc # intentando /usr/lib/python2.7/datetime.so # intentando /usr/lib/python2.7/datetimemodule.so # intentando /usr/lib/python2.7/datetime.py # intentando /usr/lib/python2.7/datetime.pyc # intentando /usr/lib/python2.7/plat-linux2/datetime.so # intentando /usr/lib/python2.7/plat-linux2/datetimemodule.so # intentando /usr/lib/python2.7/plat-linux2/datetime.py # intentando /usr/lib/python2.7/plat-linux2/datetime.pyc # intentando /usr/lib/python2.7/lib-tk/datetime.so # intentando /usr/lib/python2.7/lib-tk/datetimemodule.so # intentando /usr/lib/python2.7/lib-tk/datetime.py # intentando /usr/lib/python2.7/lib-tk/datetime.pyc # intentando /usr/lib/python2.7/lib-dynload/datetime.so dlopen ("/ usr / lib / python2.7 / lib-dynload / datetime.so", 2); importar datetime # cargado dinámicamente desde /usr/lib/python2.7/lib-dynload/datetime.so # intentando /usr/lib/python2.7/dist-packages/gi/_gobject/GTypeWrapper.so # intentando /usr/lib/python2.7/dist-packages/gi/_gobject/GTypeWrappermodule.so # intentando /usr/lib/python2.7/dist-packages/gi/_gobject/GTypeWrapper.py # intentando /usr/lib/python2.7/dist-packages/gi/_gobject/GTypeWrapper.pyc importe gi._gi # cargado dinámicamente desde /usr/lib/python2.7/dist-packages/gi/_gi.sofuente