2010-09-27 4 views
5

La bibliothèque standard Python est-elle standard dans le sens où si Python est installé, la bibliothèque standard est également installée?La bibliothèque standard Python est-elle vraiment standard?

Le documentation lit

Pour Unix systèmes d'exploitation Python est normalement fourni un ensemble de paquets, il peut être nécessaire d'utiliser les outils d'emballage fournis avec le système d'exploitation pour obtenir une partie ou l'ensemble des les composants optionnels.

La bibliothèque standard index ne répertorie que les «Services du système d'exploitation optionnels» facultatifs, pour autant que je sache.

Alors, tout le reste est-il toujours disponible sur une plate-forme, si Python est installé? Si non, que peut-on attendre des plus courants (Windows, Mac OS X, Linux)? PS: J'enseigne un cours de Python aux étudiants des cycles supérieurs, et j'aimerais pouvoir leur dire que Python est toujours fourni avec des piles; ceci est d'une importance pratique pour eux (lorsqu'ils arrivent dans un nouveau laboratoire, ou utilisent une nouvelle machine, il leur est utile de savoir à quoi s'attendre en termes de disponibilité des modules standards).

+0

Avez-vous vérifié quelques installations pour voir ce que vous avez? Sur quoi enseignez-vous? Qu'avez-vous regardé? –

+0

@ S.Lott: Je veux que les élèves sachent à quoi ils peuvent s'attendre lorsqu'ils arrivent dans un nouvel environnement (de laboratoire) et qu'ils doivent utiliser l'ordinateur qui leur est donné. C'est une information utile et pratique pour eux. (J'ai pris soin d'installer tout ce dont les élèves ont besoin pour la classe sur les machines qu'ils utilisent.) – EOL

Répondre

7

Ce n'est pas un problème Python. Vous pouvez enseigner que les piles sont incluses. Elles sont.

Ce sont les distributions qui sont incomplètes.

Nous avons été mécontents du fait que Red Hat Enterprise Linux possède d'anciennes versions de Python. Cependant, il existe des recettes pour les mises à niveau.

Il est courant de désactiver tous les packages de développeur, ce qui rend Python incomplet. C'est une situation courante en dehors de Python et en dehors de la distribution Linux essentielle.

Les piles sont incluses dans des circonstances normales. Mais, il est aussi très facile de retirer tout ou partie des piles. Et de nombreuses organisations vont - pour diverses raisons - créer des bibliothèques incomplètes.

Ce n'est pas Python. Ce sont les environnements qui sont incomplets.

+0

+1: Bon point. Je suppose que le moral est que vous devez parfois aller au magasin et obtenir des piles Python; mais la bonne chose est qu'ils les ont toujours en stock. :) – EOL

2

Cela dépend du conditionneur de distribution. Par exemple sur Debian, les modules de profilage profile et cprofile sont installés séparément sous la forme python-profiler. D'autres modules peuvent être séparés comme ceci aussi sur différentes distributions.

5

Généralement oui - tout ce qui n'est pas listé dans la section optionnelle sera toujours disponible.

Ce sont quelques-unes des choses qui peuvent varier d'un OS à l'installation OS: http://docs.python.org/library/someos.html

Vous ne serez probablement pas utiliser ces sauf si vous faites la programmation assez avancée.

+2

Ce n'est pas vraiment vrai sur les installations Unix.Par exemple, l'installation du port lang/python27 sur FreeBSD ne vous * procurera * pas les modules bsddb, gdbm, sqlite3 ou tkinter. Chacun d'entre eux dépend d'autres paquets qui ne sont pas installés par défaut. –

+0

@ Just Guy - Merci d'avoir ajouté cela. Pour être complet, est-ce une liste complète de ce qui a des dépendances externes ou juste quelques exemples? – dkamins

+1

Je pense que c'est complet pour FreeBSD - il est basé sur le message affiché aux utilisateurs après l'installation de Python. Ubuntu a aussi des paquets "python" et "python-minimal", avec "minimal" qui saute le même genre de choses que FreeBSD. Je ne suis pas sûr de savoir lequel (si l'un ou l'autre) est installé par défaut. –

Questions connexes