Какие части стандартной библиотеки python будут доступны?

Мне интересно узнать, какие части стандартной библиотеки python абсолютно гарантированно доступны, а какие части не могут быть установлены в зависимости от распространения.

Я видел этот вопрос, но он не совсем дает ответ, который я ищу.

Я знаю, что эти модули не всегда доступны и математический модуль всегда есть. Как насчет других модулей? Существуют ли какие-либо модули помимо математики, которые гарантированно будут доступны?

Изменить: модуль sys также всегда доступен.

Ответ 1

Если вы говорите о стандартной реализации Python (CPython), то на странице http://docs.python.org/3/library/index.html перечислены модули, которые она предоставляет (вы можете выбрать версия Python в верхней части страницы).

Это стандартные модули, включенные в реализацию Python, но некоторые из них зависят от операционной системы или могут зависеть от некоторых других компонентов платформы. Это обычно отмечается в документации модуля с такой зависимостью. Например.: http://docs.python.org/3/library/posix.html - в верхней части находится аннотация "Платформа: POSIX".

Другие зависимости могут быть не такими явными - http://docs.python.org/3/library/sqlite3.html не говорит, что этот модуль построен только в том случае, если sqlite3 был доступен во время сборки Python, но это то, чего можно ожидать.

В любом случае, ссылка на стандартную библиотеку Python всегда является лучшим местом для начала. Если в документации по модулю ничего не говорится о платформе, и ничто не говорит о том, что это зависит от какой-либо внешней библиотеки или механизма, специфичного для платформы, тогда вы можете предположить, что он безопасен в использовании. Но мы, другие, сказали, что любой может удалить что-либо из своей сборки Python.

Все, что не из стандартной библиотеки, должно считаться необязательным в любой установке Python, но модули "чистого python" из http://pypi.python.org/pypi могут быть более доступным для целевой аудитории, что некоторые двоичные модули из стандартной библиотеки.