2011-07-27 36 views
2

我正在测试不同的语言来开发一个桌面应用程序的Mac & Windows。75 MB Helloworld与py2app!

我以为Python + Wx值得一试,所以我写了一个简单的hello world。

然后,我尝试py2app将我的应用程序打包为Mac应用程序。

发现我的hellworld.app重量高达75 MB真是令人惊讶! (然后我在运行时有错误,但这不是问题)

这里是我的问题:有没有一种方法来分发一个重量小于几MB的独立wxPython应用程序? (例如,一个地址簿应用程序)。

(一个Swing的HelloWorld大约是3KB,加上周围20MB的JRE)

谢谢

+1

莫是兆字节(MB)?或者这是一些新的内存大小单位? –

+0

啊,是的,莫= MB,对不起。 (在法语中我们有Mo代表“méga-octet”,“octet”代表一个字节) – user777466

+0

@ user777466一个八位字节是**不是**一个字节(它*可以是一个字节)。根据牛津词典,Octet的意思是“一组八个人或事物”,字节意思是“一组二进制数字或位作为一个单位操作”。 – 2011-07-27 11:40:08

回答

3

我会强烈remmoend您使用PyINstaller,它可以在这里找到:link

它的工作原理像迄今为止的一个chamr,它支持大多数主要的图书馆: wxpython pyqt甚至django(尽管我没有真正理解整个django支持的东西;-))

PyInstaller是一个在Python,Linux和Mac OS X下将Python程序转换(打包)为独立可执行文件的程序。它与类似工具相比的主要优势在于PyInstaller自2.2版起可与任何版本的Python一起工作,由于透明压缩的可执行文件,它完全是多平台的,并使用操作系统支持来加载动态库,从而确保完全兼容。

PyInstaller的主要目标是与第三方软件包直接兼容。这意味着,使用PyInstaller,所有使外部软件包工作所需的技巧已经集成在PyInstaller本身中,因此不需要用户干预。您永远不需要在维基中寻找技巧,并将自定义修改应用于您的文件或安装脚本。作为一个例子,完全支持PyQt,Django或matplotlib等库,而无需手动处理插件或外部数据文件。检查SupportedPackages的兼容性列表。

我希望这可以帮助,祝你好运,并告诉你,如果再需要帮助

+0

加上你不必在二进制文件中绑定python! – cwoebker

+0

根据您的目标版本和平台,这可能会也可能不会是一件好事。在OS X上,通常认为最好的做法是在必要时交易一些(便宜的)磁盘空间,以确保在应用程序包中提供所需的安全性,以确保可预测且简单的用户体验。如果您在多个版本中依赖OS X系统Pythons,那么这可能很难(不是不可能)。 –

+0

这就是为什么我说,你不必,但你仍然可以:-) – cwoebker