Setelah beberapa pengeditan yang tidak begitu pintar dari versi Python default di Ubuntu, dari 2,7 menjadi 3,2, saya akhirnya merusak seluruh sistem saya. Setelah komputer saya meledak dan semuanya berhenti berfungsi, saya mencoba mengembalikan kembali perubahan saya (dengan menautkan /usr/bin/python2.7 ke / usr / bin / python dan mengubah versi default di / usr / share / python / debian_defaults kembali ke 2.7) tetapi beberapa hal masih rusak.
Sebagai contoh, ketika saya mengetik "impor gi" pada interpreter python saya mendapatkan pesan berikut:
>>> import gi
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named gi
>>>
kesalahan yang muncul dengan beberapa program juga (misalnya: alat tweak gnome). Saya telah mencoba menginstal ulang python baik dari pusat perangkat lunak dan dari sumber, tetapi kesalahan yang sama tetap ada.
Python - versi sekarang kembali:
Python 2.7.2
dan juga beberapa paket perangkat lunak yang bergantung pada python 2.7 sekarang berfungsi (misalnya pusat perangkat lunak), tetapi beberapa hal masih rusak. Apakah ada yang bisa saya lakukan untuk menginstal ulang python 2.7 sepenuhnya sebagai versi default?
sudo dpkg-reconfigure python2.7
?Jawaban:
Saya telah menemukan tiga cara untuk melakukan ini:
Cara sederhana:
sudo apt-get install python3-gi
atau
Untuk pengguna virtualenv - The VEXT cara
pip install vext
pip install vext.gi
Cara pengembang python murni:
Instal banyak barang pengembang:
sudo apt-get install pkg-config libcairo2-dev gcc python3-dev libgirepository1.0-dev
Instal paket python:
pip install gobject PyGObject
sumber
Sedikit solusi yang ditemukan di sini yang bekerja untuk saya:
Ubah
#!/usr/bin/env python
ke#!/usr/bin/python
sumber
python-gobject
di Arch Linux (ataupython3-gi
di Ubuntu) tidak bekerja untuk saya!Jalankan perintah ini di terminal:
atau jika Anda membutuhkan dukungan Python2 sebagai gantinya:
sumber
Jika Anda menginstal anaconda dan telah menjadi lingkungan python default, modul gi dapat diinstal melalui:
Lihat juga: https://bugs.launchpad.net/ubuntu/+source/ibus/+bug/1611523
sumber
Dalam hal ini:
Jadi apa yang harus Anda periksa apakah Anda memiliki file itu tersedia. Jika tidak maka periksa
/usr/lib/python2.7/dist-packages/gi/__init__.py
poin itu/usr/share/pyshared/gi/__init__.py
. Anda harus memiliki file itu sejak Anda memilikinyapython-gobject 3.0.0-0ubuntu4
(ya, saya memiliki versi yang sama).Jika
gi
paket itu ada di sana, maka Anda harus melihatsys.path
output Anda . Jika/usr/lib/python2.7/dist-packages
tidak disertakan, tambahkan dan coba lagi.Setelah impor bekerja, Anda bisa mengatur
PYTHONPATH
atau menyelidiki lebih lanjut tentang alasan mengapa jalur tidak ditetapkan dengan benar.Masalah yang tertunda mungkin adalah apakah
site.py
file Anda tidak valid untuk alasan apa pun atau, lebih mungkin, bahwa Anda tidak mendapatkan haknyasite.py
(seharusnya ada di bawah/usr/lib/python2.7/
). Dalam hal ini lihat di sini untuk meninjau semua direktori yang digunakan python untuk mencari file itu dan memeriksa apakah lingkungan Anda benar.sumber
Meningkatkan verbositas penerjemah sangat membantu dalam menentukan masalah ini. Bahkan setelah semua itu, saya mencoba melakukan symlink sederhana dari paket 2,7 dist ke paket usr / lokal saya 3.x dan mendapatkan sedikit lebih jauh, tetapi tidak banyak.
Jika Anda dapat melacak simbol yang hilang itu, Anda mungkin dapat menyelesaikan masalah ini. Inilah semua keluaran impor verbose yang membawa saya sejauh ini. Juga, ini tampaknya relevan: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=645963 , Semoga Sukses.
Jalur pencarian bahkan tidak melihat jalur python2.7. Begini tampilannya dari sisi sukses python2.7.
sumber