11

中小規模のデスクトップ GUI アプリケーションを開発する必要があります。時間の制約があるため、できれば Python を選択した言語として使用します。

ユーザーがPythonをインストールしておらず、明らかに私が使用しているGUIライブラリも持っていないと仮定して、アプリケーションをスタンドアロンで再配布できるGUIライブラリの選択肢は何ですか?

また、ターゲット OS ごとに適切なサイズのバイナリにすべてをパッケージ化するにはどうすればよいでしょうか? (私の主なターゲットは Windows と Mac OS X です)

追加: 私は WxPython を調べてきましたが、cx_freeze でパッケージ化して 30 MB 以上のバイナリを取得するという恐ろしい話がたくさん見つかりました。実際にパッケージ化を行う方法と、それがどれほど信頼できるかについての実際のアドバイスはありません。

4

7 に答える 7

6

これは役立つかもしれません:

Python プログラムから EXE ファイルを作成するにはどうすればよいですか?

于 2008-09-30T17:00:40.337 に答える
6

http://wiki.wxpython.org/CreatingStandaloneExecutables

wx のデバッグ ビルドを含めることができなければ、それほど大きくはないはずです。python.dll の場合は約 4Mb、wx の場合は similair を覚えているようです。

于 2008-09-30T17:03:57.567 に答える
2

Python には、TCL プログラミング言語の Tk ライブラリに基づくTKinterという GUI ツールキットが組み込まれています。これは非常に基本的なものであり、たとえば Windows フォームや GTK で期待されるすべての機能を備えているわけではありませんが、プラットフォームに依存しないツールキットが必要な場合は、バイナリをそれほど大きくしたくないことを念頭に置いて、他に選択肢はありません。

Tkinter には何百万ものウィジェット/コントロールとオプションがなく、少なくとも Windows、OSX、および Linux では、ほとんどの Python ディストリビューションに含まれているデフォルトのツールキットであるため、使用するのはまったく難しくありません。

GTKQTはより美しく、より強力ですが、大きな欠点が 1 つあります。それらは重く、第 3 のライブラリに依存します。特に GTK には多くの依存関係があり、ソフトウェアに埋め込んで配布するのが少し難しくなります。

バイナリの作成に関しては、python コードを win32 実行可能コード (.exe) に変換する py2exe があることは知っていますが、OSX に似たようなものがあるかどうかはわかりません。人々がソースコードを見ることができるか、それともすべてを単一のパッケージにバンドルできるかを心配していますか? スタンドアロンの実行可能ファイルを作成する必要のないものをすべてバンドルしたい場合は、インストーラーを簡単に作成できます。

Python で配布可能ファイルを作成する

これは、完成したソフトウェアを配布する方法に関するガイドです。

于 2008-09-30T17:47:28.023 に答える
1

http://Gajim.org for Windows では、python と PyGtk を使用しています。彼らがどのようにそれをしたかを確認できます。また、GUI 用の PyQt (および前述の wxpython) もあります。

于 2008-09-30T17:10:12.793 に答える
1

Windows 以外のプラットフォーム用のスタンドアロン アプリを構築した経験はありません。

それは言った:

Tkinter: py2exe で正常に動作します。Python Megawidgets (Tkinter の「拡張ライブラリ」) も問題なく動作しますが、動的インポートでファンキーなことを行うため、すべてのコンポーネントを大きなファイル「pmw.py」に結合し、それをプロジェクトに追加する必要があります (まあ、 pmwblt.py と pmwcolor.py もあります)。どこかでこれを行う方法についての説明があります (py2exe wiki または PMW ドキュメントのいずれか)。Tix (Tkinter で使用できる Tk の拡張機能) は py2exe では動作しません。少なくとも、約 4 年前の私の経験ではそうでした。

wxPythonは py2exe でも問題なく動作します。持っているアプリを確認しました。ディストリビューション全体で約 11MB になりました。そのほとんどは wx DLL と .pyd ファイルでしたが、それを回避する方法がわかりません。Windows XP をターゲットにしている場合は、setup.py にマニフェストを含める必要があります。そうしないと、見栄えが悪くなります。詳しくはこちらのメールをご覧ください。

于 2008-09-30T21:28:06.013 に答える
0

私がよく知っている組み合わせ: wxPython、py2exe、upx

ディストリビューションのサイズに関する最後の懸念を解決する鍵は、upxを使用して DLL を圧縮することです。MacOS の実行可能ファイルをサポートしているようです。DLL が最初にロードされるときに、最初の解凍ペナルティが発生します。

于 2008-09-30T20:29:08.213 に答える
0

私は py2Exe を自分で使用しました。これは非常に簡単です (少なくとも小さなアプリの場合)。

于 2008-09-30T17:02:15.060 に答える