python 包命名空间背后是什么:z3c、zc、collective?
所以它们都与 zope 有某种关系。问题是如何?
我对佐普不熟悉。我猜 zc、z3c 代表 Zope Component
和 Zope3 Component
但我想确定一下。还有一个集体
命名空间。它下面有什么样的包?
还有哪些其他众所周知的 python 包命名空间?
当包应该使用 zc、z3c 等命名空间时,是否有任何约定?
有时我看到以 zc 开头的包,但我无法解释为什么它们是命名空间的。例如,z3c.sqlalchemy
具有命名空间,因为它是 zope 项目的 sqlalchemy
的包装器。但另一个示例 zc.buildout
看起来像是一个完全独立的项目。它获得命名空间只是因为它是由 Zope 的工作人员开发的吗?如果我在 Zope 上工作,这是否意味着我应该为我的项目添加 zc
前缀,即使它们与任何其他 Zope 包都不相关?
So they all are somehow related to zope. Question is how?
I am not familiar with Zope. I guess that zc, z3c stand for Zope Component
and Zope3 Component
but I want to be sure. Also there is a collective
namespace. What kind of packages goes under it?
What are other well known python package namespaces?
Are there any conventions when package should be namespaced with zc, z3c and others?
Sometimes I see packages starting with zc and I can't rationate why are they namespaced. For example z3c.sqlalchemy
has namespace because it is a wrapper of sqlalchemy
for zope projects. But another example zc.buildout
looks like a completely independent project. Did it got the namespace only because it is developed by people who work on Zope? If I would work on Zope would that mean that I should prefix my projects with zc
even if they are not relevant to any other Zope package?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
zc
是“Zope Corporation”。z3c
是“Zope 3 社区”,一个早已被“弃用”的命名空间,即没有使用该命名空间创建新的包。collective
指的是Plone Collective,一个Plone包的svn存储库,对贡献者持友好态度。它一直是新的通用 Plone 包的“默认”命名空间,这些包在相当长一段时间内不属于 Plone 核心的一部分。另外有趣的是:
zope
最初用于 Zope 3 一部分的软件包。现在很少用于新软件包。Products
,用于较旧的 Zope2 / Plone 软件包。所有 Zope2 产品都必须位于 Products 目录中这一事实的历史遗留问题,因为在存在名称空间包之前。zc
is "Zope Corporation".z3c
is "Zope 3 community", a namespace that long since has been "deprecated", ie no new packages are made with this namespace.collective
refers to the Plone Collective, a svn repository for Plone packages with a friendly attitude towards contributors. It's been the "default" namespace for new generic Plone packages that are not a part of Plone core for quite some time now.Also of interest is:
zope
originally used for packages that was a part of Zope 3. Now rarely used for new packages.Products
, used for older Zope2 / Plone packages. A hystorical remnant of the fact that all Zope2 products had to be in a Products directory, since before there was namespace packages.Stephan Richter 和我在 zope sprint 上对一些包进行原型设计,但这些包并不真正适合 zope 包命名空间。从那时起我们开始使用 z3c 作为包名称。
正如 Lennart 所说,这应该意味着 zope 3 社区。但命名空间并未被弃用。
可能问题更多的是,如果
他喜欢提交到 zope 包存储库。我认为 z3c 和 Collective 使用不同的许可证。
z3c 存储库是 zope 存储库的一部分,并使用与 zope 本身使用的相同许可证 (ZPL) 等。但这也意味着您需要成为 zope 贡献者才能使用它。
顺便提一句,
在相关存储库之外使用 z3c 或集合可能是一个非常糟糕的主意。
问候
罗杰·伊内兴
Stephan Richter and I where prototyping some packages on a zope sprint which didn't really fit into the zope package namespace. This was the time we started using z3c as a package name.
This should mean zope 3 community as Lennart says. But the namespace is not deprecated.
Probably the question is more which license commiter agreement does someone like to use if
he likes to commit to a zope package repository. I think z3c and collective use different license stuff.
The z3c repos is a part of the zope repository and uses the same license (ZPL) etc. as zope itself uses. But this also means you need to be a zope contributer for using it.
btw,
using the z3c or collective outside the relevant repositories is probably a very bad ide.
Regards
Roger Ineichen