我想用py2app 0.7.3将python程序打包到应用程序。 我有一个(Mountain Lion)Mac,我在其上安装了python.org版本的Python 2.7.3以及所有必需的模块,通过使用它们可用的可分发程序。然而,我还需要一个32位版本的应用程序,所以在另一台(Mountain Lion)机器上,我使用macports(使用i386 for build_arch)设置了相同的环境(即python +模块)。py2app无效链接到zlib
从源文件来看,我的程序在两台机器上运行良好。但是,只有在64位机器上生成的应用程序才有效。当试图运行的MacPorts计算机上生成32位应用程序,我得到的错误:
Traceback (most recent call last):
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/py2app/apptemplate/lib/site.py", line 20, in <module>
import os
zipimport.ZipImportError: can't decompress data; zlib not available
对于这两个应用程序使用相同的setup.py文件。
似乎在macports机器上生成的应用程序仍然尝试使用外部Python而不是使用它打包的应用程序(尽管它不应该是半独立的,因为系统的python没有被使用)。 zlib存在于.app文件中(当然,也在外面)。
我发现的关于这个问题的大多数其他帖子,建议改变__boot__.py文件中的sys.path变量,该文件可以在包中找到,但是好像我的应用程序甚至不能访问该模块并事先崩溃。