我很想知道python标准库的哪些部分绝对可以保证可用,哪些部分可能没有安装,取决于分发。
我见过this question,但它并没有提供我正在寻找的答案。
我知道these modules并非始终可用且the math module always is。其他模块怎么样?除了数学之外还有其他模块可以保证可用吗?
答案 0 :(得分:5)
如果您正在讨论标准Python实现(CPython),那么http://docs.python.org/3/library/index.html页面会列出它提供的模块(您可以在页面顶部选择Python版本)。
这些是Python实现中包含的标准模块,但其中一些是特定于操作系统的,或者可能依赖于某些其他平台组件。这通常在具有此类依赖性的模块的文档中注明。例如。: http://docs.python.org/3/library/posix.html - 顶部有“Platform:POSIX”注释。
其他依赖关系可能不那么明确 - http://docs.python.org/3/library/sqlite3.html并没有说只有在Python构建期间sqlite3可用时才会构建此模块,但这是可以预期的。
无论如何,Python标准库参考始终是最好的起点。如果模块文档中没有任何关于平台的说明,并且没有任何暗示它取决于任何外部库或平台特定机制,那么您可能认为它是安全的。但我们其他人曾说过 - 任何人都可以从他的Python版本中删除任何内容。
任何非标准库中的任何内容在任何Python安装中都必须被视为可选项,但http://pypi.python.org/pypi中的“纯python”模块可能更适用于标准库中某些二进制模块的目标受众。