什么是“纯Python”

2024-04-23 10:18:47 发布

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

stackoverflow上的许多问题都指向“纯Python”(来自“相似问题”列表的一些随机示例:12345678910)。

我在web上的其他地方也遇到了这个概念,例如imageio的包文档和"An introduction to Pure Python."等教程

这让我相信,对于“纯Python”的定义肯定有一些公认的标准。

然而,尽管我的搜索能力有限,我还无法找到这个定义。

有人能给我指一个普遍接受的“纯Python”定义吗?还是这只是一个难以捉摸的概念,对不同的人来说意味着不同的东西?

编辑: 为了清楚起见,我要问:这样的定义是否存在,是或否,如果存在,那么,什么是广受赞誉的来源?虽然我真的很欣赏所有的评论和回答,但我并不寻求个人的解释。


Tags: to文档anweb概念示例列表定义
1条回答
网友
1楼 · 发布于 2024-04-23 10:18:47

“纯Python”包是一个只包含Python代码的包,不包括C扩展或其他语言中的代码。您只需要一个Python解释器和Python标准库来运行一个纯Python包,而您的操作系统或平台是什么并不重要。

纯Python包可以导入或依赖于非纯Python包:

  • 包X只包含Python代码,是一个纯Python包。
  • 包Y包含Python和C代码,不是纯Python包。
  • 包X导入包Y,但包X仍然是纯Python包。

一个好的经验法则:如果您可以对包进行源代码分发(“sdist”),并且它不包含任何非Python代码,那么它就是一个纯Python包。

纯Python包不仅限于Python标准库;包可以从Python标准库之外导入模块,仍然被视为纯Python。

此外,独立模块是一个只从Python标准库导入模块的.py文件。独立模块必然是纯Python模块。

注意,在Python中,package在技术上指的是一个包含in it文件的文件夹。使用pip从PyPI下载和安装的内容是发行版(例如“source distribution”或“sdist”),不过术语“package”也被用作“distribution”的同义词,因为该术语可能与单词的“Linux distro”用法相混淆。

“纯Python”有官方定义吗?在撰写本文之前,没有,尽管Python打包用户指南大量使用了https://packaging.python.org/overview/中的术语

相关问题 更多 >