我很想知道 python 标准库的哪些部分绝对保证可用,哪些部分可能不会安装,具体取决于分发。
我已经看到了这个问题,但它并没有完全提供我正在寻找的答案。
我知道这些模块并不总是可用,而数学模块总是. 其他模块呢?除了数学之外,还有什么模块可以保证可用吗?
编辑:sys 模块也总是可用的。
我很想知道 python 标准库的哪些部分绝对保证可用,哪些部分可能不会安装,具体取决于分发。
我已经看到了这个问题,但它并没有完全提供我正在寻找的答案。
我知道这些模块并不总是可用,而数学模块总是. 其他模块呢?除了数学之外,还有什么模块可以保证可用吗?
编辑:sys 模块也总是可用的。
如果您谈论的是标准 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”模块可能比标准库中的一些二进制模块更适合目标受众.