2010-05-26 118 views
2

py2exe不能處理的主要/常見/重要軟件包?與py2exe不兼容的重要軟件包和模塊?

我目前正在研究從將使用Tkinter,一些Excel文件讀取模塊,NumPy,SciPy和matplotlib的Python程序創建一個.exe的可能性:試圖用py2exe實現這一點是否現實?

回答

3

我經常建立py2exe快速谷歌使用Scipy,matplotlib,wxpython和win32com或Machin的xlrd/xlwt模塊的單個文件可執行文件。從來沒有使用過Tkinter,但不應該是一個問題,可能wxpython更挑剔。

在構建可執行文件之前和之後,我發現numpy/scipy,matplotlib和wxpython存在一些問題,但是在知道該怎麼做之後,它才能正常工作。

一些問題:

matplotlib要求指明一些輔助檔案館。您需要添加到您的setup.py

datafiles = matplotlib.get_py2exe_datafiles() 

numpy的/ SciPy的給了我一些問題,由於模塊的一些expresions,執行py2exe可執行文件時。 NumPy的有一些線路suchs爲:

__doc__ += "something more" 

__doc__是沒有失敗的。
爲此,我不得不手動修改numpy腳本(包括if)。我不知道這是否已在新版本中解決。

wxpython通常是由於必須在計算機中工作的一些必需的Microsoft DLL所致的問題的來源。只要你一定要小心,確保你在你的軟件包中提供它們,或者至少阻止你的用戶瞭解這個問題。謝謝你,奧利:

一些有用的提示也可以在py2exewxpython維基

+0

你說:「我經常使用Scipy,matplotlib,wxpython和win32com或Machin的xlrd/xlwt模塊構建py2exe單個文件可執行文件。[snip]我發現所有這些模塊都存在一些問題」......但沒有說出什麼「Machin的xlrd/xlwt模塊」中存在的問題。請詳細說明。我已經使用這兩個模塊打包了可執行文件,而且沒有問題。在python-excel google-group中提出的唯一問題是自我造成的IIRC。 – 2010-05-29 07:25:24

+0

@John,除了xlrd/xlwt之外,我應該說,實際上或者現在都不記得win32com的特定版本。我相應地更正了文字。 – joaquin 2010-05-29 08:46:31

2

確實如此。你可能會遇到一些問題,但我懷疑你會遇到阻礙,尤其是在非常常見的軟件包中。

你可以快速瞭解如何py2exe工程與各種庫的位置:

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

對於未列出的有什麼,斷火爲py2exe <package-name>

+0

+1找到了!我選擇了最詳細的答案,但你的確是有用的! – EOL 2010-05-27 19:49:43