Стандартная библиотека Python действительно стандартная? - PullRequest
5 голосов
/ 27 сентября 2010

Является ли стандартная библиотека Python стандартной в том смысле, что если Python установлен, то и стандартная библиотека также установлена?

Документация читает

Для Unix-подобных операционных систем Python обычно предоставляется в виде набора пакетов, поэтому может потребоваться использовать инструменты упаковки, прилагаемые к операционной системе, для получения некоторых или всех дополнительных компонентов.

Стандартная библиотека index , насколько я могу судить, перечисляет в качестве необязательных только "Дополнительные службы операционной системы".

Итак, все ли всегда доступно на платформе, если установлен Python? Если нет, что можно ожидать от наиболее распространенных (Windows, Mac OS X, Linux)?

PS: Я преподаю урок Python для аспирантов, и я хотел бы сказать им, что Python всегда идет с включенными батареями; для них это имеет практическое значение (когда они приходят в новую лабораторию или используют новую машину, им полезно знать, чего ожидать с точки зрения доступности стандартных модулей).

Ответы [ 3 ]

7 голосов
/ 28 сентября 2010

Это не проблема Python.Вы можете научить, что батареи включены.Они таковы.

Это неполные дистрибутивы.

Мы были недовольны Red Hat Enterprise Linux, имеющей старые версии Python.Тем не менее, существуют рецепты для обновлений.

Обычная практика безопасности - отключать все пакеты разработчика, оставляя Python незавершенным.Это обычная ситуация за пределами Python и вне основного дистрибутива Linux.

Батареи включены при нормальных обстоятельствах.Но также очень легко снять некоторые или все батареи.И многие организации по разным причинам будут создавать неполные библиотеки.

Это не Python.Это среды, которые являются неполными.

5 голосов
/ 27 сентября 2010

Обычно да - все, что не указано в дополнительном разделе, всегда будет доступно.

Вот некоторые вещи, которые могут варьироваться от ОС к установке ОС: http://docs.python.org/library/someos.html

Вы, вероятно, не будете использовать их, если не будете заниматься достаточно сложным программированием.

2 голосов
/ 27 сентября 2010

Зависит от дистрибутива.Например, в Debian модули профилирования profile и cprofile устанавливаются отдельно как python-profiler.Другие модули могут быть разделены таким же образом в разных дистрибутивах.

...