プロジェクトのdistディレクトリにGTK +のビンなど、株式とlibディレクトリをコピーする標準の答えが正解である(しかし、私は誰かが荒らさた[1]を参照して ビンは、リストから欠落しています)、結局のところ:
- PyGTKのは、PythonにGTK +を利用可能にする接着剤の薄層以上のものはありません
- PyGObjectは、Python
へのGObject、GIO、...を利用可能にする接着剤の薄い層以外の何ものでもありません
- PyCairoは、あなたがそれらのバインディングパッケージのすべての3を必要とし、基盤となるプラットフォームがない場合には、それらの 性質のために、彼らは役に立たない、最低限のPython
にカイロが利用可能糊作るの薄い層以外の何ものでもありません利用可能なファイル(.dllファイル、 構成ファイル、略:shebang全体)。そのため、GTK +の binなどの共有とlibをプロジェクトのdistディレクトリにコピーする必要があります。
私が2年前に[1]に投稿したsetup.pyの断片は、微妙に ですが、不完全です。正しいバージョンはされている必要があります。zipファイルとdest_baseの値の
from distutils.core import setup
import py2exe
setup(
name = 'handytool',
description = 'Some handy tool',
version = '2.0',
zipfile = 'bin/library.zip',
windows = [{'script': 'handytool.py',
'dest_base': 'bin/handytool'}
],
options = {'py2exe': {'packages':'encodings',
'includes': 'glib, gio, gobject, cairo, atk, pango, pangocairo, gtk'}
}
)
をメモします。これらのオプションを使用すると、 .exe、.pydファイルとlibrary.zipの束がすべて py2exeのdist/binディレクトリに作成されます。 GTK +のディレクトリをpy2exeの distディレクトリにコピーすると、実行ファイルはlibgtk-win32-2.0.0.dllなどの のように表示されます。上記の操作を行わないと、PATH環境が正しく設定されていないために、 変数が互換性のない.dllファイルを妨害する可能性があります。 py2exe実行可能ファイルが読み込まれます。
上記の設定のため。PYファイル、DISTの正しいディレクトリ構造は 次のようになります。あなたが正しく動作上記を取得すると
bin/handytool.exe
bin/library.zip
bin/*.pyd (all .pyd files py2exe deemed needed)
bin/* (complete copy of GTK+ runtime bin dir)
etc/* (complete copy of GTK+ runtime etc dir)
share/* (complete copy of GTK+ runtime share dir)
lib/* (complete copy of GTK+ runtime lib dir)
をあなただけの作品とあなたが の一部を除外について考え始めることができます そのロードイメージを検索しますシェア/(翻訳ファイルのように、あなたが/必要性を望んでいない)など
MVG、 ディーター
は、[1] http://www.py2exe.org/index.cgi/Py2exeAndPyGTK
編集2011/07/05:PyGObject 2.28/PyGTK 2.24のインクルードオプションが修正されました。 PyGObject 2.28のみを使用している場合、インクルードオプションには 'glib、gio、gobject'を含む が含まれています。 PyGTKを使用している場合は、 'glib、gio、gobject、cairo、atk、pango、pangocairo、gtk'が必要です。
わかりませんが、gtk-2.0をシステムにインストールする必要があると思われます。 http://www.gtk.org/download-windows.html –
@Aaron、gtk-2.0がシステムにインストールされています。 –