2

py2exeが処理できないメジャー/共通/重要なパッケージはありますか?

私は現在、Tkinter、いくつかのExcelファイル読み取りモジュール、NumPy、SciPy、matplotlibを使用するPythonプログラムから.exeを作成する可能性を研究しています:py2exeでこれを達成しようとするのは現実的ですか?

4

2 に答える 2

3

私は、Scipy、matplotlib、wxpython、win32com、またはMachinのxlrd / xlwtモジュールを使用して、py2exe単一ファイル実行可能ファイルを定期的にビルドします。Tkinterを使用したことはありませんが、問題にはならないはずです。おそらくwxpythonの方が扱いにくいでしょう。

実行可能ファイルをビルドする前後に、numpy / scipy、matplotlib、wxpythonにいくつかの問題が見つかりましたが、何をすべきかを知った後はスムーズに動作します。

いくつかの問題:

matplotlibは、いくつかの補助アーカイブがどこにあるかを示す必要があります。setup.pyに追加する必要があります

datafiles = matplotlib.get_py2exe_datafiles()

numpy / scipyは、py2exe実行可能ファイルを実行するときに、モジュール内のいくつかの式が原因で、いくつかの問題を引き起こしました。Numpyには次のような行があります。

__doc__ += "something more"

__doc__がNoneの場合は失敗します。
このために、numpyスクリプト(ifを含む)を手動で変更する必要がありました。これが新しいバージョンで解決されたかどうかはわかりません。

wxpythonは一般に、動作するためにコンピューターに存在しなければならないいくつかの必要なMicrosoftdllが原因で問題の原因になります。パッケージでそれらを提供することを保証するか、少なくとも問題についてユーザーを防ぐように注意する必要があります。

いくつかの便利なヒントは、py2exeおよびwxpythonwikiにもあります。

于 2010-05-26T12:17:57.193 に答える
2

確かに試してみるのは現実的です。おそらくいくつかの問題が発生するでしょうが、特に非常に一般的なパッケージでは、ブロッカーに到達することはないと思います。

py2exeがさまざまなライブラリでどのように機能するかを簡単に確認できます。

http://www.py2exe.org/index.cgi/WorkingWithVariousPackagesAndModules

そこにリストされていないものについては、クイックグーグルを起動しますpy2exe <package-name>

于 2010-05-26T12:17:38.343 に答える