有关stackoverflow的许多问题,请参阅" Pure Python " (来自"类似问题的一些随机示例"列表:1,2,3,4,5,{{3 }},6,7, 8, 9)。
我也在网络上的其他地方遇到过这个概念,例如:在10的包文档和imageio
等教程中这让我相信必须有一些普遍接受的标准定义什么" Pure Python "是。
然而,尽管谷歌搜索到我的能力极限,我还没有找到这个定义。
任何人都可以向我指出一个普遍接受的定义" Pure Python,"或者这只是一些难以捉摸的概念,对不同的人意味着不同的东西?
修改: 要明确的是,我在问:这样的定义是否存在,是或否,如果是,那么广受好评的来源是什么?虽然我真的很感谢所有的评论和答案,但我并不是在寻求个人的解释。
答案 0 :(得分:9)
在那个imageio包中,它们意味着它全部用Python实现,而不是(有时已经完成)用C或其他语言编写的部分。因此,它可以保证可以在Python上运行的任何系统上运行。
在该教程中,它表示下载和安装Python时获得的Python - 语言和标准库,而不是任何外部模块。之后的章节增加了一些外部库,如numpy和scipy,它们被大量使用但不属于标准库。
所以他们的意思已经不同了。
答案 1 :(得分:1)
“ pure-Python”软件包是仅包含Python代码且不包含C扩展名或其他语言的代码的软件包。您只需要一个Python解释器和Python标准库即可运行纯Python程序包,而与您的操作系统或平台无关。
纯Python软件包可以导入或依赖于非纯Python软件包:
一个好的经验法则:如果您可以制作软件包的源代码发行版(“ sdist”),并且其中不包含任何非Python代码,则它是纯Python软件包。
Pure-Python软件包不仅限于Python标准库;软件包可以从Python标准库外部导入模块,但仍被视为纯Python。
此外,独立模块是单个 .py 文件,该文件仅从Python标准库中导入模块。独立模块必须是纯Python模块。
请注意,在Python中,软件包从技术上讲是指其中包含 init .py 文件的文件夹。使用pip从PyPI下载和安装的东西是发行版(例如“源发行版”或“ sdist”),尽管术语“包”也用作“发行版”的同义词,因为该术语可能与该词的“ Linux发行版”用法混淆。
是否有“ pure-Python”的正式定义?在撰写本文时,虽然Python打包用户指南大量使用了https://packaging.python.org/overview/
中的术语,但没有