3

PEP8建议模块和包名称使用全小写的名称。PyPI 上的大多数包似乎都遵循这个规则。然而,有一些明显非常有能力和 PEP8 意识的开发人员的包已经大写了他们的包名。

例子:

  • SphinxPygments通过Georg Brandl
  • Django通过Simon Willison, Jacob-Kaplan Moss, ...
  • Fabric经过Jeff Forcier

为什么这些开发人员将他们的包名大写?

4

3 回答 3

7

在所有示例情况下,您提供的包都遵循 PEP-8 命名约定:

  • Sphinx 的顶层包被称为sphinx
  • Pygments 的顶级包被称为pygments
  • Django的顶层包被调用django
  • Fabric的顶层包被称为fabric

What you see using capitals is the distribution package, not the python package in the PEP-8 sense. Naturally, these projects have chosen to capitalize their project names and the distribution package reflects that project name.

Python distribution packages do not need to be named the same as the python package that they contain. This is by design; you can put multiple packages into a distribution, for example, and thus the contents should not dictate the distribution name.

于 2012-09-09T11:08:18.390 回答
1

因为整个 PEP8 中最有见地的一段是关于愚蠢的一致性是 Little Minds的妖精”的一段:

A style guide is about consistency.
Consistency with this style guide is important.
Consistency within a project is more important. 
Consistency within one module or function is most important.
于 2012-09-09T10:22:09.517 回答
0

简短的回答:没人在乎

更长的答案:

  • 如果你有一个像 xyz 这样的命名空间包,那么 name 应该是小写的

  • 如果你有一个包代表像“Django”这样的“品牌”,那么我也可以将该包命名为“Django”作为元数据的一部分。请记住,包名不能代表包
    内的实际包结构。

于 2012-09-09T10:50:09.663 回答