【问题标题】:Caching files for later rebuilds with distutils使用 distutils 缓存文件以供以后重建
【发布时间】: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 属性。
  • 您可以让二进制库在第一次运行期间下载程序初始化的一部分,而不是安装脚本的一部分。

标签: python distutils


【解决方案1】:

应该可以使用这些文件夹,这里是get those names from distutils 的方法。 但是,这些文件夹非常不稳定。我建议在源代码分发版中有一个空目录来接收这些下载,并带有一个 README 文件来解释它作为构建缓存的作用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-04-08
    • 1970-01-01
    • 1970-01-01
    • 2013-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-08
    相关资源
    最近更新 更多