缓存文件以供以后使用 distutils 重建
我正在使用 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
应该可以使用这些文件夹,以下是如何从 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.