Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
可以接受python包名中包含数字吗?_Python_Pip_Setuptools_Pypi - Fatal编程技术网

可以接受python包名中包含数字吗?

可以接受python包名中包含数字吗?,python,pip,setuptools,pypi,Python,Pip,Setuptools,Pypi,我见过PyPI发行版名称以及包含数字的python包名称。例如,您还可以使用import flake 8进行导入 根据PyPI和PEP标准,包名中有数字可以吗?我知道,由于语法原因,你不能从一个数字开始,但是从一个标准的观点来看,在中间还是结束呢? 首先,请注意PYPI项目名称和模块名称是完全独立的;没有任何东西可以阻止您创建一个包foo,该包安装一个模块bar,这两个名称遵循不同的有效策略 模块名称受Python语法限制为有效,这意味着它们必须由ASCII字母或下划线组成,后跟零个或多个ASC

我见过PyPI发行版名称以及包含数字的python包名称。例如,您还可以使用
import flake 8
进行导入


根据PyPI和PEP标准,包名中有数字可以吗?我知道,由于语法原因,你不能从一个数字开始,但是从一个标准的观点来看,在中间还是结束呢?

首先,请注意PYPI项目名称和模块名称是完全独立的;没有任何东西可以阻止您创建一个包

foo
,该包安装一个模块
bar
,这两个名称遵循不同的有效策略

模块名称受Python语法限制为有效,这意味着它们必须由ASCII字母或下划线组成,后跟零个或多个ASCII字母、数字和/或下划线。在Python3中,添加了Unicode,事情变得更加复杂,但我相信所有ASCII模块名称仍然遵循相同的限制

PyPI上的项目名称(如中所述)必须完全由ASCII字母、数字、
-
和/或
组成,并且必须以字母或数字开头和结尾。还有一种强制执行不区分大小写,并将
-
的运行视为相等,因此
foo bar
foo.bar
被视为同一项目

此外,;它说:

模块应该有简短的、全小写的名称。如果可以提高可读性,则可以在模块名称中使用下划线。Python包也应该有短的、全小写的名称,尽管不鼓励使用下划线

当C或C++编写的扩展模块有一个附带的Python模块,它提供了更高级别(例如更多面向对象)的接口时,C/C++模块具有一个领先的下划线(例如,代码>


因此,是的,您可以在项目名称和模块名称中都有一个数字,项目名称甚至可以以一开头

非常全面的答复。非常感谢。