Após uma edição não tão inteligente da versão padrão do Python no Ubuntu, de 2.7 a 3.2, acabei quebrando meu sistema inteiro. Depois que meu computador implodiu e tudo parou de funcionar, tentei reverter minhas alterações (vinculando /usr/bin/python2.7 a / usr / bin / python e alterando a versão padrão em / usr / share / python / debian_defaults para 2.7) mas algumas coisas ainda estão quebradas.
Por exemplo, quando digito "import gi" no interpretador python, recebo a seguinte mensagem:
>>> import gi
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named gi
>>>
erro que também aparece em alguns programas (por exemplo: ferramenta gnome tweak). Eu tentei reinstalar o python no centro de software e nas fontes, mas o mesmo erro persiste.
Python - a versão agora retorna:
Python 2.7.2
e também alguns pacotes de software que dependem do python 2.7 agora estão funcionando (por exemplo, o centro de software), mas algumas coisas ainda estão quebradas. Existe algo que eu possa fazer para reinstalar completamente o python 2.7 como a versão padrão?
sudo dpkg-reconfigure python2.7
?Respostas:
Eu encontrei três maneiras de fazer isso:
A maneira simples:
sudo apt-get install python3-gi
ou
Para usuários virtualenv - A maneira vext
pip install vext
pip install vext.gi
A maneira pura de desenvolvedor python:
Instale um monte de coisas para desenvolvedores:
sudo apt-get install pkg-config libcairo2-dev gcc python3-dev libgirepository1.0-dev
Instale os pacotes python:
pip install gobject PyGObject
fonte
Pouca solução encontrada aqui que funcionou para mim:
Mude
#!/usr/bin/env python
para#!/usr/bin/python
fonte
python-gobject
no Arch Linux (oupython3-gi
no Ubuntu), não funcionou para mim!Execute este comando no terminal:
ou se você precisar do suporte ao Python2:
fonte
Se você instalou o anaconda e ele se tornou o ambiente python padrão, o módulo gi pode ser instalado via:
Veja também: https://bugs.launchpad.net/ubuntu/+source/ibus/+bug/1611523
fonte
No meu caso:
Então, o que você deve verificar se possui esse arquivo disponível. Se não estiver, verifique esses
/usr/lib/python2.7/dist-packages/gi/__init__.py
pontos/usr/share/pyshared/gi/__init__.py
. Você deve ter esse arquivo já que possuipython-gobject 3.0.0-0ubuntu4
(sim, eu tenho a mesma versão).Se o
gi
pacote estiver lá, você deve dar uma olhada na suasys.path
saída. Se/usr/lib/python2.7/dist-packages
não estiver incluído, adicione-o e tente novamente.Depois que a importação funcionar, você poderá apenas definir
PYTHONPATH
ou investigar mais sobre o motivo pelo qual o caminho não está definido corretamente.O problema pendente provavelmente é que seu
site.py
arquivo não é válido por qualquer motivo ou, mais provavelmente, que você não está acertandosite.py
(deve estar abaixo/usr/lib/python2.7/
). Nesse caso, dê uma olhada aqui para revisar todos os diretórios que o python usa para procurar esse arquivo e verificar se seu ambiente está correto.fonte
Aumentar a verbosidade do intérprete ajuda bastante na triagem desse problema. Mesmo depois de tudo isso, tentei fazer um link simbólico simples do pacote dist 2.7 para o meu pacote dist / usr / local 3.x e fui um pouco mais longe, mas não muito.
Se você puder rastrear o símbolo ausente, poderá resolver esse problema. Aqui está toda a saída detalhada da importação que me levou até aqui. Além disso, isso parece relevante: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=645963 , boa sorte.
O caminho de pesquisa nem olha para o caminho python2.7. Veja como fica do lado bem-sucedido do python2.7.
fonte