缓存文件以供以后使用 distutils 重建

发布于 2024-10-09 10:17:32 字数 437 浏览 5 评论 0原文

我正在使用 distutils 构建一组 Python 扩展。这些扩展依赖于外部库(与 Python 无关),这些库通常使用 Makefile 从源代码构建。这些外部库不太可能经常更改。

为了减轻用户的痛苦,我的 setup.py 脚本使用 urllib.urlretrieve() 从网络获取库,解析 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 来获取这些文件夹的名称?

提前致谢!

I'm building a set of Python extensions with distutils. The extensions depend on external libraries (unrelated to Python) which are normally built from source using Makefiles. Those external libs are unlikely to change often.

To ease the users' pain, my setup.py scripts fetch the libraries from the web using urllib.urlretrieve(), parse the Makefiles to collect the list of relevant source files, and build using config.add_library(). That works fine and all is well.

My question is: what is the best/recommended way to cache the downloaded source files so that distutils does not download them all over again when I rebuild? Is it possible to store them in, say, the build/src.macosx-10.6-x86_64-2.7 or build/temp.macosx-10.6-x86_64-2.7 folders created by distutils? If so, how does one query distutils for the name of those folders?

Thanks in advance!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

痴梦一场 2024-10-16 10:17:32

应该可以使用这些文件夹,以下是如何从 distutils 获取这些名称
然而,这些文件夹非常不稳定。我建议在源代码发行版上有一个空目录来接收这些下载,并有一个自述文件解释其作为构建缓存的作用。

It should be possible to use those folders, here's how to get those names from distutils.
However, those folders are pretty volatile. I'd suggest having an empty directory on the source distribution for receiving these downloads, with a README file explaining its role as a build cache.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文