Mengapa saya tidak bisa mengimpor "pygtk" dengan Python 3.2 dari PyDev?

13

Saya telah menginstal Eclipse + PyDev + Python 3.2. Sekarang saya memiliki dua juru bahasa Python di PyDev: Python 2.7 dan Python 3.2. Jika saya mencoba mengeksekusi perintah import pygtkdengan 2.7 interpreter berfungsi dengan baik, tetapi dengan Python 3.2 ia memunculkan ImportError: No module named pygtk.

Bagaimana saya bisa membuat PyGTK bekerja dengan Python 3.2?

Novarchibald
sumber

Jawaban:

24

PyGTK telah ditinggalkan karena PyGI + GTK. Karena itu, versi PyGTK untuk Python 3 tidak pernah ditulis.

Untuk menggunakan PyGI + GTK di Python 3, Anda perlu menginstal paket python3-gobject dan lakukan

from gi.repository import Gtk

Untuk pengantar cepat tentang porting kode PyGTK ke PyGI + GTK, lihat di sini:

https://live.gnome.org/PyGObject/IntrospectionPorting

Untuk tutorial lengkap, lihat di sini:

http://readthedocs.org/docs/python-gtk-3-tutorial/en/latest/index.html

Marcelo Hashimoto
sumber
"versi PyGTK untuk Python 3 tidak pernah ditulis." - Bukan itu yang dikatakan situs pygtk - maksud Anda tidak pernah dikemas untuk ubuntu?
Random832
Tidak, maksud saya itu tidak pernah ditulis. Apa sebenarnya yang Anda lihat di situs pygtk?
Marcelo Hashimoto
Saya salah membaca tentang PyGObject - ini membingungkan bahwa ada pengumuman tentang itu di situs web PyGTK:> PyGobject 2.26.0 telah dirilis. Ini adalah rilis stabil pertama dalam seri 2.26.x dan memperkenalkan dukungan awal untuk introspeksi dan Python 3. Seperti biasa, sumber dapat diambil dari sini. Lihat pengumuman rilis dan daftar lengkap perubahan.
Random832
6

Satu tambahan kecil: python3-gobject diganti nama python3-gi di Precise. Anda masih dapat menginstal melalui nama lama, tetapi jika Anda tidak perlu mendukung sesuatu yang lebih tua dari Precise, gunakan python3-gi di debian / control Anda.

Jderose
sumber