2010-09-27 30 views
5

Lo standard di libreria standard Python è nel senso che se Python è installato, viene installata anche la libreria standard?La libreria standard Python è veramente standard?

Il documentation legge

Per Unix sistemi operativi Python è normalmente fornito come un insieme di pacchetti, per cui può essere necessario utilizzare gli strumenti di packaging forniti con il sistema operativo per ottenere alcuni o tutti i componenti opzionali.

La libreria standard index elenca solo come facoltativi i "Servizi opzionali del sistema operativo", per quanto posso dire.

Quindi, tutto il resto è sempre disponibile su una piattaforma, se Python è installato? In caso contrario, cosa ci si può aspettare da quelli più comuni (Windows, Mac OS X, Linux)?

PS: Sto insegnando una classe Python agli studenti laureati, e mi piacerebbe poter dire loro che Python viene sempre fornito con batterie incluse; questo è di importanza pratica, per loro (quando arrivano in un nuovo laboratorio o usano una nuova macchina, è utile per loro sapere cosa aspettarsi in termini di disponibilità dei moduli standard).

+0

Avete controllato alcune installazioni per vedere cosa avete ottenuto? Su cosa stai insegnando? Che cosa hai guardato? –

+0

@ S.Lott: voglio far sapere agli studenti che cosa * loro * possono aspettarsi quando arrivano in un nuovo ambiente (di laboratorio) e devono usare qualsiasi computer a loro assegnato. Questo è utile, informazioni pratiche, per loro. (Mi sono occupato dell'installazione di tutto ciò di cui gli studenti hanno bisogno per la lezione sulle macchine che usano.) – EOL

risposta

7

Non è un problema di Python. Puoi insegnare che le batterie sono incluse. Loro sono.

Sono le distribuzioni incomplete.

Non siamo contenti di Red Hat Enterprise Linux con vecchie versioni di Python. Tuttavia, ci sono ricette per gli aggiornamenti.

È prassi comune per la sicurezza disattivare tutti i pacchetti degli sviluppatori, lasciando Python incompleto. Questa è una situazione comune al di fuori di Python e al di fuori della distribuzione Linux essenziale.

Le batterie sono incluse in circostanze normali. Ma è anche molto facile togliere alcune o tutte le batterie. E molte organizzazioni - per una serie di motivi - creano librerie incomplete.

Non è Python. Sono gli ambienti che sono incompleti.

+0

+1: buon punto. Immagino che il morale sia che a volte devi andare al negozio e procurarti delle batterie Python; ma la cosa buona è che li hanno sempre in magazzino. :) – EOL

2

Dipende dal pacchetto di distribuzione. Ad esempio su Debian i moduli di profilazione profile e cprofile vengono installati separatamente come python-profiler. Altri moduli possono essere separati in questo modo anche su diverse distribuzioni.

5

Generalmente sì - tutto ciò che non è elencato nella sezione opzionale sarà sempre disponibile.

Queste sono alcune delle cose che possono variare da sistema operativo per l'installazione del sistema operativo: http://docs.python.org/library/someos.html

Probabilmente non usare questi a meno che non si sta facendo la programmazione abbastanza avanzata.

+2

Questo non è proprio vero per le installazioni Unix.Ad esempio, l'installazione della porta lang/python27 su FreeBSD non * ti procurerà i moduli bsddb, gdbm, sqlite3 o tkinter. Ognuno di questi dipende da altri pacchetti che non sono installati di default. –

+0

@Just Some Guy - Grazie per averlo aggiunto. Per completezza, è un elenco completo di ciò che ha dipendenze esterne o solo alcuni esempi? – dkamins

+1

Penso che sia completo per FreeBSD: si basa sul messaggio visualizzato agli utenti dopo aver installato Python. Ubuntu ha anche pacchetti "python" e "python-minimal", con "minimal" che salta lo stesso tipo di cose che FreeBSD fa. Non sono sicuro di quale (se nessuno) di quelli viene installato di default. –

Problemi correlati