您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在python存储库名称和包名称中使用连字符/破折号

在python存储库名称和包名称中使用连字符/破折号

造成误解的最大原因是“包装”一词的重载。游戏中有4种不同的名称- 存储库名称,用于开发的目录名称(包含setup.py名称),包含的目录名称__init__.py和其他可导入模块的名称,PyPI的发行版名称。通常这四个是相同或相似的,但这不是必需的。

存储库和开发目录的名称可以是任何名称,它们的名称不起作用。当然,正确命名它们很方便,但这仅是方便。

带有Python文件的目录名称为要导入的包命名。一旦为导入命名了软件包,该名称通常会卡住并且无法更改。

分发的名称在PyPI上提供了一页,并提供了分发文件名称(源分发,鸡蛋,转盘)。这是人们setup(name='distribution')呼唤的名字。

让我显示详细的实际示例。我一直在维护一个名为CheetahTemplate的模板库。我在名为的开发目录中进行开发cheetah3/。PyPI的分布称为Cheetah3;这是我输入的名字setup(name='Cheetah3')。因此,顶层模块是Cheetahdoimport Cheetah.Templatefrom Cheetah import Template; 那意味着我有一个目录cheetah3/Cheetah/

2的答案是:您可以在存储库名称和PyPI发行版名称中使用破折号,但在软件包(包含__init__.py文件的目录)名称和模块(.py文件名称中不能包含破折号,因为您不能用Python编写import xy-zzy,这将是减法和SyntaxError

第3点:站点名称和存储库名称scikit-learn以及分发名称,但是可导入的软件包(带有的顶级目录__init__.py)为sklearn

PEP 8与该问题无关,因为它不讨论分发,仅涉及可导入的程序包和模块。

python 2022/1/1 18:36:22 有249人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶