2012-10-19 19 views
11

Tôi đang phát triển một ứng dụng phải tương thích 100% trên các cửa sổ và trên linux. Trên linux Tôi không có vấn đề, nhưng trên cửa sổ tôi đã đưa ra thông điệp này: từ gi.repository nhập khẩu Gtk ImportError: Không có mô-đun có tên gigi.repository Windows

Tôi đã cài đặt pygobject, pygtkallinone, gtk .. những gì tôi bị mất?

+0

Bạn đã thử 'import gtk' chưa? – Blender

+0

OMG nhanh và hiệu quả !! cảm ơn: D –

+8

'gi' là cho PyGObject, là GTK + 3, mỗi mô-đun được viết hoa. Khi bạn sử dụng 'import gtk' bạn đang sử dụng PyGTK (GTK + 2). – gpoo

Trả lời

13

gi.repository mô-đun được gọi là PyGObject và dành cho Gtk + 3 và chưa khả dụng cho Windows (đã có thử nghiệm nhưng chưa sẵn sàng AFAIK). https://live.gnome.org/PyGObject

gtk mô-đun được gọi là PyGtk và dành cho Gtk + 2 và rất trưởng thành trên nền tảng Windows (cụ thể là 2.24). http://www.pygtk.org/

Sự khác biệt là gì?

  • PyGObject có một số hỗ trợ Windows đáng sợ. PyGtk có hỗ trợ tuyệt vời cho hệ điều hành này.
  • PyGObject được gọi là liên kết động và PyGtk là một giá trị tĩnh.
  • PyGObject là mới và tương lai và PyGtk là quá khứ, trưởng thành và một số ngày sẽ không còn được dùng nữa.
  • Tài liệu và ví dụ về PyGObject rất hạn chế và PyGtk rất rất hạn chế: http://developer.gnome.org/pygtk/stable/
  • Chúng không tương thích, bạn không thể sử dụng cả hai và bạn cần chọn.
  • PyGObject đang hoạt động tích cực, không có tính năng mới nào được giới thiệu cho PyGtk.
  • Nếu bạn sử dụng Glade, phiên bản mới nhất sẽ là cho PyGObject (ví dụ 3.12.1). Nếu bạn muốn sử dụng Glade cho PyGtk, hãy cài đặt phiên bản 3.8.0.

Nếu bạn chọn sử dụng PyGtk, có hỗ trợ tuyệt vời cho việc đóng băng ứng dụng. Bạn có thể kiểm tra tài liệu và các tệp hỗ trợ cho đơn đăng ký của tôi tại đây: http://sourceforge.net/p/nestededitor/code/247/tree/trunk/dist/windows/

Hy vọng điều đó sẽ hữu ích.

EDIT:

Nhiều thứ đã thay đổi trong hai năm. Vui lòng xem câu trả lời gianmt.

+0

có vấn đề gì với các ứng dụng PyGTK bị đóng băng sử dụng [PyInstaller] (http://www.pyinstaller.org/) không? py2exe là Windows chỉ – jfs

+0

Không bao giờ được thử nghiệm với PyInstaller, xin lỗi. – Havok

+0

PyGObject có một số tài liệu, đó không phải là xấu: http://python-gtk-3-tutorial.readthedocs.org/en/latest/index.html – liberforce

18

Hầu hết Havok câu trả lời là đúng, ngoại trừ tài liệu đã được cải thiện rất nhiều thời gian gần đây, với một Hướng dẫn:

Bao gồm một phiên bản PDF để đọc offline:

Và một tham chiếu API thủ công hoàn toàn, không chỉ của Gtk nhưng cũng có nhiều thư viện khác mà bạn có thể sử dụng với mẫn:

trên cửa sổ hỗ trợ là rất tốt, rất nhiều nỗ lực có được đặt trong việc tạo ra tất cả các cửa sổ thực thi và thư viện, việc phát hành cuối cùng của pygi-aio là 3.10.6:

Tôi cũng đã đưa hướng dẫn trên wiki Gnome về cách xây dựng trên win32 với pygobject mẫn, nó không phải là khó khăn, tôi cũng đã tải lên một setup.py đó thực sự hoạt động:

Vì vậy, câu trả lời là, đừng đi với PyGTK

+2

Câu trả lời hay, cảm ơn. Điều cần biết là nhiều thứ đã được cải thiện qua nhiều năm. – Havok

+0

Câu trả lời hay. Phiên bản pygi-aio thậm chí còn tăng lên 3,14 một ngày trước. – tobias47n9e

+1

Các tệp được cung cấp tại 'http: //sourceforge.net/projects/pygobjectwin32/files/? Source = navbar' chỉ đơn giản là không hoạt động. Công cụ sao chép trình cài đặt, nhưng không có thư viện nào có thể tải bằng python khi sử dụng 'từ gi.repository import Gtk'. –

Các vấn đề liên quan