Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

1.1K
Vistas
ImportError: no se puede importar el nombre '_gi' del módulo 'gi' parcialmente inicializado (probablemente debido a una importación circular)

Parece que rompí mi instalación de python cuando quería cambiar a python 3.8. Usando Ubuntu 18.04. Intentando usar el gi , da el siguiente error:

 $ python Python 3.8.1 (default, Dec 31 2019, 18:42:42) [GCC 7.4.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> from gi.repository import GLib, Gio Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib/python3/dist-packages/gi/__init__.py", line 42, in <module> from . import _gi ImportError: cannot import name '_gi' from partially initialized module 'gi' (most likely due to a circular import) (/usr/lib/python3/dist-packages/gi/__init__.py)

Intenté ejecutar update-alternatives para python, pero me dice que solo hay una alternativa de python configurada (3.8).

Intenté reinstalar python3-gi y python3.8. Sigue el mismo problema

over 4 years ago · Santiago Trujillo
6 Respuestas
Responde la pregunta

0

Tiene el mismo problema, no se puede cargar el módulo desde la carpeta del script. En mi caso, funciona si cambio el directorio de trabajo, por ejemplo (pero solo para el comando en línea):

 cd /tmp; python -c 'from gocd import Server' echo $? 0

Después de copiar el script a /tmp, no funciona

 cp gocd.py /tmp cd /tmp; python -c 'from gocd import Server' Traceback (most recent call last): File "<string>", line 1, in <module> File "/tmp/gocd.py", line 3, in <module> from gocd import Server ImportError: cannot import name 'Server' from partially initialized module 'gocd' (most likely due to a circular import) (/tmp/gocd.py)
over 4 years ago · Santiago Trujillo Denunciar

0

Instale gi para python 3.8: python3.8 -m pip install pgi Luego, en lugar de import gi , use:

 import pgi pgi.install_as_gi() from gi.repository import GLib, Gio

Alternativamente, puede forzar la instalación de PyGObject para python 3.8:

sudo python3.8 -m pip install --ignore-installed PyGObject

lo que debería permitirle a uno from gi import ... como antes.

over 4 years ago · Santiago Trujillo Denunciar

0

Tuve el mismo problema. Enlacé python3 a python3.6, para mí apuntaba a 3.8. Eso resolvió el problema.

 cd /usr/bin/ rm python3 ln -s python3.6 python3

Eso es todo. Ahora mi sistema comenzó a funcionar bien.

over 4 years ago · Santiago Trujillo Denunciar

0

Encontré la respuesta aquí https://bugzilla.redhat.com/show_bug.cgi?id=1709787 :

La causa es: /usr/lib64/python3.8/site-packages/gi/_gi.cpython-38m-x86_64-linux-gnu.so tiene un nombre incorrecto:

sh-5.0# python3 -c 'from gi.repository import GLib' Rastreo (última llamada más reciente): Archivo "", línea 1, en Archivo "/usr/lib64/python3.8/site-packages/gi/ init . py", línea 42, en from . import _gi ImportError: no se puede importar el nombre '_gi' de 'gi' (/usr/lib64/python3.8/site-packages/gi/ init .py) sh-5.0# mv /usr/lib64/python3.8/site- paquetes/gi/_gi.cpython-38m-x86_64-linux-gnu.so /usr/lib64/python3.8/site-packages/gi/_gi.cpython-38-x86_64-linux-gnu.so sh-5.0# python3 -c 'desde gi.repository import GLib'

Tenga en cuenta que desde 3.8.0a4, se supone que la "m" no está allí. ¿Está de alguna manera codificado?

sh-5.0# python3-config --extension-suffix .cpython-38-x86_64-linux-gnu.so

en mi caso fue

 $ sudo ln -s /usr/lib/python3/dist-packages/gi/_gi.cpython-35m-x86_64-linux-gnu.so /usr/lib/python3/dist-packages/gi/_gi.cpython-38-x86_64-linux-gnu.so $ sudo ln -s /usr/lib/python3/dist-packages/gi/_gi_cairo.cpython-35m-x86_64-linux-gnu.so /usr/lib/python3/dist-packages/gi/_gi_cairo.cpython-38-x86_64-linux-gnu.so
over 4 years ago · Santiago Trujillo Denunciar

0

Para mí, la solución fue crear un enlace simbólico:

 cd /usr/lib/python3/dist-packages/gi/ sudo ln -s _gi.so _gi.cpython-38-x86_64-linux-gnu.so

y me resolvió el problema.

over 4 years ago · Santiago Trujillo Denunciar

0

El motivo de este error es que esta aplicación no puede encontrar la versión de Python correspondiente de _gi_cairo.cpython-(version)-x86_64-linux-gnu.so.
Normalmente, esta situación inigualable se debe a un uso mixto incorrecto de diferentes versiones de Python.

Básicamente, puede intentar cambiar su versión de Python (a la versión predeterminada de su sistema operativo). O puede ir a '/usr/lib/python3/dist-packages/gi' y crear un nuevo archivo de biblioteca .so:

 cp _gi_cairo.cpython-(old version)-x86_64-linux-gnu.so _gi_cairo.cpython-(new version)-x86_64-linux-gnu.so

o

 ln -s _gi_cairo.cpython-(old version)-x86_64-linux-gnu.so _gi.so
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda