py2app无法加载扩展

时间:2012-09-06 18:16:40

标签: python sqlalchemy py2app

在构建使用sqlalchemy的应用时,我收到此错误:

creating python loader for extension 'sqlalchemy.cprocessors'
error: /Users/paul/Source/Python/build/bdist.macosx-10.6-intel/python2.7-standalone/app/temp/sqlalchemy/cprocessors.py: No such file or directory

我看了一下网站包,并没有cprocessors.py,但是有一个cprocessors.so - 所以也许它只是在寻找错误的扩展名

我尝试将"sqlalchemy.cprocessors"添加到py2app中的包含列表中,但这没有帮助。

我想知道我是否可以通过在构建时删除一个空的cprocessors.py来欺骗它,然后将其交换出来,但是我确信有更好的方法而且我不相信它可以甚至工作

1 个答案:

答案 0 :(得分:0)

一段时间后我解决了这个问题。

错误是由于在同一构建脚本中多次调用setup,以及构建之间的状态泄漏引起的。

解决方案是通过设置py2app选项bdist_basedist_dir

将每个应用构建到不同的目录中
OPTIONS = {
    ...
    "bdist_base": os.path.join("build",APP_NAME),
    "dist_dir": os.path.join("dist",APP_NAME)
}

setup(
    ...
    options={"py2app": OPTIONS}
    ...
)