4

py2app 文档提到__boot__.py了在主要 python 脚本之前运行的prescripts。我找不到在 setup.py 文件或构建过程中轻松指定任何指令的方法。

但是,我确实设法__boot__.py手动“破解”并_run(prescript)在我的主要命令之前添加了另一个命令_run(main_script),它似乎工作正常。然而,使用标准的 py2app 构建过程会更好。

我实际上想做的是在启动主脚本之前对我的 sites-packages.zip 文件进行猴子补丁。该指令主要检查服务器上的更新,如果有,下载它们,然后覆盖 site-packages.zip 文件。比从头开始重新安装应用程序要快得多。

有任何想法吗?

4

1 回答 1

2

请参阅文档:您的py2app.recipes包必须包含一个配方,其check方法返回一个dict包括'prescripts'值为的键,我引用,

在初始化主脚本之前要运行的其他 Python 脚本的列表。这通常用于猴子补丁包含的模块,以便它们在冻结的环境中工作。prescripts 可以是模块名、文件名或包含 Python 代码的类文件对象(例如 StringIO)。请注意,如果使用类似文件的对象,则当前不会对其进行扫描以查找其他依赖项。

有关示例,请参阅内置食谱源。这个包(安装在您的机器上)是您需要添加自己的自定义配方的地方。

于 2010-03-30T15:52:10.143 回答