Python包名和Pypi项目名

发布时间 2023-08-18 10:47:16作者: tangjicheng

在PyPI和setuptools中,项目名称中的下划线 (_) 和连字符 (-) 都是允许的,但它们在某些上下文中有所不同。

  1. PyPI项目名

    • 当你上传一个包到PyPI时,项目名称中的下划线 (_) 和连字符 (-) 都是允许的。但为了统一,PyPI会视两者为相同。例如,如果有人上传了名为 my_project 的项目,那么其他人就不能再上传名为 my-project 的项目,因为PyPI会认为这两个名字是相同的。
  2. Python包名

    • 在Python代码中,包名只能使用下划线,不能使用连字符。这是因为连字符在Python中是减法操作符,不能用作标识符的一部分。
  3. Wheel文件名

    • 当你为项目构建一个Wheel分发时,setuptools 会自动将项目名称中的下划线替换为连字符。这是Wheel文件命名规范的一部分。

总之,当你为Python包选择一个名字时,你应该考虑到这些规则和行为,以确保与其他开发者和工具的兼容性。如果你在 setup.py 中为项目选择了一个包含下划线的名字,你可以在PyPI上使用该名字,但Wheel文件的名字会将下划线替换为连字符。