Python包名和Pypi项目名
在PyPI和setuptools
中,项目名称中的下划线 (_
) 和连字符 (-
) 都是允许的,但它们在某些上下文中有所不同。
-
PyPI项目名:
- 当你上传一个包到PyPI时,项目名称中的下划线 (
_
) 和连字符 (-
) 都是允许的。但为了统一,PyPI会视两者为相同。例如,如果有人上传了名为my_project
的项目,那么其他人就不能再上传名为my-project
的项目,因为PyPI会认为这两个名字是相同的。
- 当你上传一个包到PyPI时,项目名称中的下划线 (
-
Python包名:
- 在Python代码中,包名只能使用下划线,不能使用连字符。这是因为连字符在Python中是减法操作符,不能用作标识符的一部分。
-
Wheel文件名:
- 当你为项目构建一个Wheel分发时,
setuptools
会自动将项目名称中的下划线替换为连字符。这是Wheel文件命名规范的一部分。
- 当你为项目构建一个Wheel分发时,
总之,当你为Python包选择一个名字时,你应该考虑到这些规则和行为,以确保与其他开发者和工具的兼容性。如果你在 setup.py
中为项目选择了一个包含下划线的名字,你可以在PyPI上使用该名字,但Wheel文件的名字会将下划线替换为连字符。