Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

1.1K
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório

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 Relatório

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 Relatório

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda