为什么一些很有可能了解PEP8的开发人员会将他们的包名大写?(示例:Django、Sphinx、织物等)

2024-04-25 22:30:01 发布

您现在位置:Python中文网/ 问答频道 /正文

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

示例:

  • SphinxPygments,由Georg Brandl
  • DjangoSimon WillisonJacob-Kaplan Moss。。。在
  • Fabric作者Jeff Forcier

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


Tags: 模块名称pypi示例pygments开发人员规则sphinx
3条回答

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

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

使用大写字母的是分发包,而不是PEP-8意义上的python包。当然,这些项目选择了将其项目名称大写,而分发包反映了该项目名称。在

Python分发包的名称不需要与它们所包含的Python包的名称相同。这是按设计的;例如,您可以将多个包放入一个发行版中,因此内容不应该指定发行版名称。在

因为PEP8中最具洞察力的段落是关于如何A Foolish Consistency is the Hobgoblin of 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.

简而言之:没人在乎

更长的答案是:

  • 如果您有一个像x.y.z这样的命名空间包,那么名称应该只使用小写

  • 如果你有一个像“Django”这样的“品牌”的包装,那么它就是 对我来说,将这个包命名为“Django”也是元数据的一部分。 请记住,软件包名称不能代表实际的软件包
    包内的结构。

相关问题 更多 >

    热门问题