【发布时间】:2010-12-23 15:03:11
【问题描述】:
我正在使用 distutils 构建一组 Python 扩展。扩展依赖于通常使用 Makefile 从源代码构建的外部库(与 Python 无关)。这些外部库不太可能经常更改。
为了减轻用户的痛苦,我的 setup.py 脚本使用 urllib.urlretrieve() 从 Web 获取库,解析 Makefile 以收集相关源文件的列表,并使用 config.add_library() 构建。效果很好,一切都很好。
我的问题是:缓存下载的源文件的最佳/推荐方法是什么,以便在我重建时 distutils 不会重新下载它们?是否可以将它们存储在 distutils 创建的 build/src.macosx-10.6-x86_64-2.7 或 build/temp.macosx-10.6-x86_64-2.7 文件夹中?如果是这样,如何在 distutils 中查询这些文件夹的名称?
提前致谢!
【问题讨论】:
-
distutils.command.build实例具有self.build_temp属性。 -
您可以让二进制库在第一次运行期间下载程序初始化的一部分,而不是安装脚本的一部分。