0

我们的大型 python 项目正在从使用旧的“ setuptools ”项目升级为使用“ distribute ”作为替代品。

我们注意到这两个应用程序之间存在一个有问题的区别:在 setuptools 中,一个具有未定义 zip-safe 标志的 egg 被假定为 zip-safe 并将作为压缩文件安装(除非用户明确指定不这样做)。

与新的 Distribute 相比,所有鸡蛋都被假定为不是 zip 安全的(并且将安装解压缩),除非它们的 zip-safe 标志设置为明确为 True。

因此,以前只需将 .egg 文件复制到站点包即可安装的鸡蛋现在被解压缩到站点包。理想情况下,我希望新发行版以与旧版 setuptools 完全一致的方式安装鸡蛋。

这听起来可能无关紧要,但是如果我们更改像站点包文件夹的目录结构这样基本的东西,它将迫使我们的团队经历一个非常耗时的国际 UAT 阶段。如果我们能简单地保证新安装程序产生与旧安装程序完全相同的目录结构,那就更好了。

仅供参考,我正在使用适用于 Windows XP 32 位的 Python 2.4.4 上的最新发行版。

4

1 回答 1

1

如果您在 Windows 上使用 Python 2.4,则使用分布式设置工具没有任何优势。Distribute 仅在 Python 2.6(它支持新的“主”目录布局)和 Python 3.x(尚未移植 setuptools)上提供比较优势。

除此之外,相对于 setuptools,Distribute 并没有真正的“升级”;事实上,Distribute 仍然包含在 setuptools 中已修复的错误,或者在 setuptools 中从未存在过的错误(因为它们是在 Distribute 中添加的)。

您还应该知道,创建 Distribute 的人现在主要在 Distutils2 上工作,并且没有计划对 Distribute 进行任何重大改进。

我意识到这可能不是您正在寻找的答案,因为显然您已经决定切换。但是,如果您纯粹基于流行的谣言即 setuptools 未维护或存在分发修复程序的错误(实际上是相反的)而切换,您可能需要重新考虑。

于 2010-11-30T16:04:55.937 回答