Действительно ли стандартная библиотека Python стандартна?

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

В документации говорится

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

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

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

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


person Eric O Lebigot    schedule 27.09.2010    source источник
comment
Вы проверили несколько установок, чтобы увидеть, что у вас есть? Чему вы учите? На что вы смотрели?   -  person S.Lott    schedule 28.09.2010
comment
@ S.Lott: Я хочу, чтобы студенты знали, чего они могут ожидать, когда они прибудут в новую (лабораторную) среду и будут использовать тот компьютер, который им предоставлен. Для них это полезная практическая информация. (Я позаботился об установке всего, что нужно ученикам для класса, на используемых ими машинах.)   -  person Eric O Lebigot    schedule 28.09.2010


Ответы (3)


Это не проблема Python. Можно научить, что батарейки в комплекте. Они есть.

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

Мы были недовольны тем, что в Red Hat Enterprise Linux были старые версии Python. Однако есть рецепты улучшений.

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

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

Это не Python. Это неполные среды.

person S.Lott    schedule 28.09.2010
comment
+1: Хорошее замечание. Я предполагаю, что мораль такова, что иногда вам нужно пойти в магазин и купить батарейки Python; но хорошо то, что они всегда есть в наличии. :) - person Eric O Lebigot; 28.09.2010

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

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

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

person dkamins    schedule 27.09.2010
comment
Это не совсем верно для установок Unix. Например, установка порта lang / python27 на FreeBSD не даст вам модули bsddb, gdbm, sqlite3 или tkinter. Каждый из них зависит от других пакетов, которые не установлены по умолчанию. - person Kirk Strauser; 28.09.2010
comment
@ Just Some Guy - Спасибо, что добавили это. Для полноты, это исчерпывающий список того, что имеет внешние зависимости, или всего несколько примеров? - person dkamins; 28.09.2010
comment
Я думаю, что это исчерпывающий вариант для FreeBSD - он основан на сообщении, отображаемом пользователям после установки Python. Ubuntu также имеет пакеты python и python-minimal, с минимальным пропуском тех же вещей, что и FreeBSD. Я не уверен, какой (если какой) из них будет установлен по умолчанию. - person Kirk Strauser; 28.09.2010

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

person Radomir Dopieralski    schedule 27.09.2010