我一直在使用 py2app (Mac OS X 10.6) 和 py2exe (Win XP 和 Win7) 构建一个基于 python 的独立应用程序。最近我添加了对依赖库 patsy 的函数的支持。但是,在构建我的软件的 py2app 或 py2exe 版本时,只有来自 patsy 的“ init .pyc”和“origin.pyc”文件包含在 site-packages.zip patsy 文件夹中(不包括 20 个额外的 python 模块文件)。导入 patsy 时,独立应用会抛出错误“ImportError: No module named highlevel”(highlevel 是 patsy 模块)。
一个丑陋的解决方法是将丢失的 .pyd 模块放入 site-packages.zip 的 patsy 目录中,但这并不理想。显示了 py2app 代码的一个简单示例,但同样适用于 py2exe:
test_import.py
import patsy
print 'hello patsy'
安装程序.py
includes = ["patsy"]
from distutils.core import setup
import py2app
import patsy
from patsy import highlevel
options = {"py2app":{"includes": includes}}
setup(name='test',app=["test_import.py"],setup_requires=["py2app"])
非常感谢任何建议。谢谢。