6

所以他们都在某种程度上与zope有关。问题是如何?

我不熟悉Zope。我猜想 zc, z3c 代表Zope ComponentZope3 Component但我想确定。还有一个collective命名空间。它下面有什么样的包?

其他知名的 python 包命名空间是什么?

当包应该使用 zc、z3c 和其他命名空间时,是否有任何约定?

有时我会看到以 zc 开头的包,但我无法解释为什么它们是命名空间的。例如z3c.sqlalchemy有命名空间,因为它是sqlalchemyzope 项目的包装器。但另一个例子zc.buildout看起来像是一个完全独立的项目。仅仅是因为它是由在 Zope 上工作的人开发的,它才获得命名空间吗?如果我在 Zope 上工作,那是否意味着我应该在我的项目前面加上前缀,zc即使它们与任何其他 Zope 包都不相关?

4

2 回答 2

8
  • zc是“Zope 公司”。
  • z3c是“Zope 3 community”,一个早已被“弃用”的命名空间,即没有使用这个命名空间制作新的包。
  • collective指的是 Plone Collective,这是一个用于 Plone 软件包的 svn 存储库,对贡献者态度友好。很长一段时间以来,它一直是不属于 Plone 核心的新通用 Plone 包的“默认”命名空间。

同样令人感兴趣的是:

  • zope最初用于作为 Zope 3 一部分的包。现在很少用于新包。
  • Products,用于较旧的 Zope2 / Plone 软件包。所有 Zope2 产品都必须在 Products 目录中这一事实的历史遗留问题,因为在命名空间包之前。
于 2011-02-19T20:14:28.977 回答
1

Stephan Richter 和我在 zope sprint 上对一些包进行原型设计,这些包并不真正适合 zope 包命名空间。这是我们开始使用 z3c 作为包名的时候。正如 Lennart 所说,这应该意味着 zope 3 社区。但是命名空间没有被弃用。

问题可能更多的是,如果某人喜欢提交到 zope 包存储库,他喜欢使用哪个许可提交者协议。我认为 z3c 和集体使用不同的许可证。

z3c 存储库是 zope 存储库的一部分,并使用与 zope 本身使用的相同的许可证 (ZPL) 等。但这也意味着您需要成为 zope 贡献者才能使用它。

顺便说一句,在相关存储库之外使用 z3c 或集体可能是一个非常糟糕的想法。

问候罗杰·伊内琴

于 2011-05-26T20:13:39.437 回答