كيف يمكنني تثبيت Pygtk / Pygobject على Windows باستخدام Python 2.6؟

StackOverflow https://stackoverflow.com/questions/1294272

  •  18-09-2019
  •  | 
  •  

سؤال

لدي تطبيق يعتمد على Pygtk، Pygobject، والأصيص الذي بنيت للعمل على Linux. أريد أن نقلها إلى Windows، ولكن عندما أعمل import gobject أحصل على هذا:

Traceback (most recent call last):
    import gobject
  File "C:\Python26\lib\site-packages\gtk-2.0\gobject\__init__.py", line 30, in <module>
    from gobject.constants import *
  File "C:\Python26\lib\site-packages\gtk-2.0\gobject\constants.py", line 22, in <module>
    from _gobject import type_from_name
ImportError: DLL load failed: The specified procedure could not be found.

يبدو أن هذا هو سبب التبديل من البناء باستخدام MingW إلى Microsoft Visual Studio، كما هو موثق بيثون علة 3308. (closed: wontfix).

هل هناك أي طريقة لتثبيت Pygtk / Pygobject بطريقة ستعمل مع Python 2.6 على Windows، دون الحاجة إلى إعادة ترجمة One أو الآخر من المصدر؟

هل كانت مفيدة؟

المحلول

لدي أنها تعمل بشكل جيد، ولم أعطني الكثير من المتاعب، لذلك نحن نعلم أنه يمكن القيام به ...

ضع في اعتبارك أنك ربما تحتاج إلى كل ما يلي مثبتة على جهاز Windows الخاص بك:

أظن في حالتك على أن مكتبات PYGTK لا تجد دليل GTK + Runtime الخاص بك حيث تكون DLLs. يجب أن يكون لديك متغير البيئة GTK_BASEPATH مضبوطا على دليل وقت تشغيل GTK + (عادة C: GTK).

يرجى أيضا رؤية Pygtk-On-Windows التعليمات

الآن، إذا كنت تحاول ترجمة Pygtk'ed Python مع Py2exe، فهذا أكثر تعقيدا قليلا، ولكن يمكن القيام به أيضا ...

نصائح أخرى

تم تحديث مثبت Pygtk All-in-One مؤخرا:

http://ftp.gnome.org/pub/gnome/binaries/win32/pygtk/2.22/

سيؤدي ذلك إلى تثبيت Pygtk، Pygobject، Pycairo، Pygtksourceview2، PyggoCanvas، Pyrsvg، GTK +-Bundle و Glade. إنه كل شيء ضروري للغاية لتكون قادرا على النجاح import gobject, import gtk, ، إلخ، دون مشاكل DLL.

ل 64 بت مستخدمي ويندوز يرون

http://digitalpbk.blogspot.inouble2/03/installing-pygtk-pypango-and-pancairo-on.html.

الخطوات المذكورة أعلاه سيعطي خطأ DLL غير صالح على 64 بت.

يجب أن يكون لديك Pygtk، Pycairo، الأزاد القزم ووقت التشغيل GTK + ...

نرى هذا لأشخاص في مثبت واحدhttp://aruiz.typepad.com/siliconisland/2006/12/allinone_win32_.html ..

كن حذرا حول تثبيت حزمة Pygtk Bundle إذا كان أي شخص يخطط لتشغيل Pygtk من خلال مترجم مضمن وكود C / C ++ يستخدم بالفعل GTK. Pygtk حزمة حزمة لا تضيف وقت تشغيل GTK إلى المسار.

في مثل هذه الحالة، ربما سيتناول رمز C GTK من المسار (كما قد قمت بالفعل بتثبيت حزمة GTK Bundle) وسيتم استخدام Python مجموعة منفصلة من مكتبات وقت تشغيل GTK.

لذلك في حالتي، اعتاد جوي أو بيثون واجهة المستخدم الرسومية أن تعمل بشكل صحيح وتستخدم للصراع أثناء الجري معا.

نظرا لأنني أستخدم Psychopy كجمع Python الأساسي الخاص بي، لحل هذه المشكلة، فقد قمت للتو بتثبيت Pygtk Pygtk، Pycairo، Pygobject على رأس Msigopy.

بصرف النظر عن استخدام مجموعة واحدة فقط من وقت تشغيل GTK، اضطررت إلى تهيئة GTK في كود C الخاص بي عبر Pygtk (وليس من قبل GTK_INIT (& ARGC، & Argv) في رمز C) بعد تهيئة مترجم Python.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top