Python 2.6 を使用して Windows に PyGTK / PyGobject をインストールするにはどうすればよいですか?
質問
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.
これは、文書化されているように、MinGW を使用したビルドから Microsoft Visual Studio への切り替えが原因であるようです。 Python のバグ 3308 (closed: wontfix
).
どちらかをソースから再コンパイルすることなく、Windows 上の Python 2.6 で動作する方法で PyGTK/PyGObject をインストールする方法はありますか?
解決
問題なく動作しており、特に問題はなかったので、できることはわかっています...
おそらく、次のすべてが Windows マシンにインストールされている必要があることに注意してください。
ピカイロ ( http://ftp.gnome.org/pub/GNOME/binaries/win32/pycairo/ )
PyGobject ( http://ftp.gnome.org/pub/GNOME/binaries/win32/pygobject/ )
PyGTK ( http://ftp.gnome.org/pub/GNOME/binaries/win32/pygtk/ )
非公式 上記 3 アイテムの x64 バージョンが利用可能です ここ -- ただし、それらを保証したり、推奨したりすることはできません。
そしてもちろん
GTK+ ランタイム ( http://ftp.gnome.org/pub/GNOME/binaries/win32/gtk+/ または http://ftp.gnome.org/pub/GNOME/binaries/win64/gtk+/ )
あなたの場合、PyGTK ライブラリが DLL がある GTK+ ランタイム ディレクトリを見つけていないのではないかと思います。環境変数 GTK_BASEPATH を GTK+ ランタイムのディレクトリ (通常は C:\GTK) に設定する必要があります。
もご覧ください。 PyGTK-on-Windows に関するよくある質問
ここで、PyGTK で作成された Python を Py2EXE でコンパイルしようとすると、少し複雑になりますが、同様に実行できます。
他のヒント
PyGTKのオールインワンのインストーラは、最近更新されています:
http://ftp.gnome.org/pub/GNOME /binaries/win32/pygtk/2.22/する
これはPyGTKを、PyGObject、PyCairo、PyGtkSourceView2、PyGooCanvas、PyRsvg、-bundleとグレイドGTK +をインストールします。それはDLLの問題もなく、絶対にすべて必要に成功import gobject
ことができるようにするため、import gtk
、などである。
64ビットのWindowsユーザーが参照するために、
ます。http://digitalpbk.blogspot。中/ 2012/03 /インストール-PyGTKを-pypango-と-pycairo-on.htmlする
上記の手順は、無効なDLLに64ビットのエラーが発生します。
uはPyGTKを、pycairo、pygbojectとGTK +ランタイムを持っている必要があります...
すべての内の1つのインストーラのためにこれを見ます http://aruiz.typepad.com/siliconisland/2006/12/allinone_win32_。 HTML の
組み込みインタプリタとC / C ++コードをPyGTKのを実行するためのいずれかの計画はすでにGTKを使用している場合はPyGTKのバンドルパックのインストールについては注意してください。 PyGTKのバンドルパックは、PATHにそのGTKランタイムを追加しません。
このような場合には、おそらく(おそらくあなたはすでにGTKバンドルパックがインストールされているとして)Cコードは、PATHからGTKを取るとPythonは、GTKランタイム・ライブラリーの別のセットを使用します。
は、従って私の場合にはC GUIまたはPythonのGUIのいずれかが適切に実行され、一緒に実行している間の競合に使用するために使用する。
私はこの問題を解決するために、私のベースのpythonのコレクションとしてPsychopyを使用すると、私はちょうどPsychopyの上にPyGTKをPyGTKを、Pycairo、Pygobjectをインストールしています。
別にGTKランタイムの唯一のセットを使用してから私は、Pythonインタプリタを初期化した後(私のCコードで)ないgtk_init(&argcの、&argvのことで)PyGTKを通じ、私のCコードでGTKを初期化する必要がありました。