12

Linux で動作するように構築した PyGTK、PyGobject、および PyCairo に依存するアプリケーションがあります。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.

これは、 Python Bug 3308 ( )に記載されているように、MinGW を使用したビルドから Microsoft Visual Studio への切り替えが原因のようclosed: wontfixです。

PyGTK/PyGObject を Windows 上の Python 2.6 で動作するようにインストールする方法はありますか?ソースからいずれかを再コンパイルする必要はありません。

4

5 に答える 5

10

私はそれを正常に動作させました、そしてそれは私に多くの問題を与えなかったので、私たちはそれができることを知っています...

おそらく、Windows マシンに次のすべてをインストールする必要があることに注意してください。

あなたのケースでは、PyGTK ライブラリが DLL がある GTK+ ランタイム ディレクトリを見つけていないのではないかと思います。環境変数 GTK_BASEPATH を GTK+ ランタイムのディレクトリ (通常は C:\GTK) に設定する必要があります。

PyGTK-on-Windows FAQも参照してください。

さて、PyGTK で処理された Python を Py2EXE でコンパイルしようとしている場合、それはもう少し複雑ですが、同様に実行できます...

于 2009-08-18T14:44:11.940 に答える
4

PyGTK オールインワン インストーラーが最近更新されました。

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

これにより、PyGTK、PyGObject、PyCairo、PyGtkSourceView2、PyGooCanvas、PyRsvg、gtk+-bundle、および Glade がインストールされます。DLL の問題なしに 、 などimport gobjectを正常に実行できるようにするために必要なすべてが絶対に必要です。import gtk

于 2011-03-18T20:31:46.903 に答える
3

64 ビット Windows ユーザーの場合は、

http://digitalpbk.blogspot.in/2012/03/installing-pygtk-pypango-and-pycairo-on.html

上記の手順により、64 ビットで無効な DLL エラーが発生します。

于 2012-03-30T17:15:01.330 に答える
1

pygtk、pycairo、pygboject、および gtk+ ランタイムが必要です...

オールインワンインストーラーについては、これを参照して ください http://aruiz.typepad.com/siliconisland/2006/12/allinone_win32_.html

于 2010-01-02T19:15:07.320 に答える
0

組み込みインタープリターを介して PyGTK を実行する予定があり、C/C++ コードが既に GTK を使用している場合は、PyGTK バンドル パックのインストールに注意してください。PyGTK バンドル パックは、GTK ランタイムを PATH に追加しません。

このような場合、おそらく C コードは PATH から GTK を取得し (おそらく既に GTK バンドル パックをインストールしているため)、Python は GTK ランタイム ライブラリの別のセットを使用します。

したがって、私の場合、C GUI または Python GUI のいずれかが適切に実行され、一緒に実行しているときに競合していました。

私は基本の python コレクションとして Psychopy を使用しているため、この問題を解決するために、PyGTK PyGTK、Pycairo、Pygobject を Psychopy の上にインストールしました。

GTK ランタイムのセットを 1 つだけ使用する以外に、Python インタープリターを初期化した後、PyGTK を介して (C コードの gtk_init (&argc, &argv) ではなく) C コードで GTK を初期化する必要がありました。

于 2015-01-24T04:49:56.840 に答える