Differences between revisions 7 and 8
Revision 7 as of 2013-06-02 08:22:04
Size: 8888
Comment: sync with English master
Revision 8 as of 2013-06-29 07:33:31
Size: 8887
Editor: MircoScotta
Comment: Typo
Deletions are marked like this. Additions are marked like this.
Line 84: Line 84:
 * Esiste un [[http://packages.debian.org/search?keywords=python%20dbg|numero crescente di pacchetti python-*-dbg]] per moduli con estensioni. Forniscono estensioni compilate usando le librerie python*-dbg, permettendo di sftruttare il [[http://docs.python.org/devguide/gdb.html|supporto di GDB per il debug di moduli ed estensioni Python]] in costante miglioramento. '''Quando si compilano moduli di estensione è raccomandato fornire anche i pacchetti -dbg corrispondenti'''  * Esiste un [[http://packages.debian.org/search?keywords=python%20dbg|numero crescente di pacchetti python-*-dbg]] per moduli con estensioni. Forniscono estensioni compilate usando le librerie python*-dbg, permettendo di sfruttare il [[http://docs.python.org/devguide/gdb.html|supporto di GDB per il debug di moduli ed estensioni Python]] in costante miglioramento. '''Quando si compilano moduli di estensione è raccomandato fornire anche i pacchetti -dbg corrispondenti'''

Translation(s): English - Français - Italiano


Logo ufficiale di Python

Introduzione

Python, il linguaggio orientato agli oggetti, interattivo e di alto livello, include una vasta libreria di classi con moltissime cose utili per la programmazione di rete, l'amministrazione di sistema, il suono e la grafica. Debian fornisce sempre almeno due versioni di Python, il rilascio stabile più recente di Python 2 e il rilascio stabile più recente di Python 3. Può anche fornire versioni aggiuntive, così come moltissimi pacchetti di terze parti. Python è una parte importante dell'ecosistema Debian.

Python è molto facile da imparare. Se si desidera cominciare a programmare in Python, si può iniziare con il Tutorial su Python o con il tutorial online ufficiale. Potrebbero essere interessanti anche il wiki di Python, le FAQ Python e la documentazione online.

Il software scritto nel linguaggio di programmazione Python viene eseguito dall'interprete Python. Solitamente è compilato in bytecode indipendente dalla piattaforma per aumentare le prestazioni. Python compila e scrive file bytecode *.pyc insieme ai sorgenti *.py. Moduli di estensione possono essere scritti anche in C e sono distribuiti come librerie condivise .so.

Il software scritto in puro Python può perciò essere distribuito come codice sorgente o come bytecode compilato. Quest'ultimo è simile a Java.

Python in Debian

Sorgenti disponibili: ssh://git.debian.org//git/git/python-modules/misc/python-debian-artwork.git

Con centinaia di moduli Python e diverse versioni di Python gestite, Debian è la più grande "distribuzione integrata di Python". Gli utenti di altri sistemi operativi (ad esempio Windows e OS X) possono anch'essi beneficiare di questo sforzo di integrazione grazie alla virtualizzazione (vedere ad esempio la pagina di NeuroDebian VM per un facile approccio iniziale).

Manutentori

All'interno del progetto Debian, i pacchetti Python sono mantenuti da sviluppatori singoli e da tre team principali:

Ci sono anche:

Versioni di Python supportate

  • Debian Squeeze contiene Python 2.5, 2.6 (il predefinito), 3.1.

  • Debian Lenny contiene Python 2.4 e 2.5 (il predefinito).

  • Debian Testing contiene parte di 2.x e 3.x

  • Debian Unstable contiene parte di 2.x e 3.x

  • Debian experimental può contenere anche alcuni pacchetti (sperimentali!) 2.x e 3.x

Questi collegamenti elencano le distribuzioni che forniscono una particolare versione di Python:

Debian Python Policy per gli sviluppatori Python

La Debian Python Policy descrive le convenzioni per pacchettizzare e distribuire il codice Python in Debian.

Ogni domanda è benvenuta sulla mailing list debian-python@lists.debian.org

Se si desidera mantenere un pacchetto Python è necessario conoscere il funzionamento dello sviluppo Debian.

Esiste una bella versione per il web del tutorial IRC sulla pacchettizzazione di Python scritto da Barry. Grazie a Neil Wallace per averla pubblicata.

Deviazioni dalla versione a monte

Le distribuzioni Debian modificano Python originale in diversi modi che è bene avere chiari. Naturalmente, dove è possibile farlo, si cerca di minimizzare le deviazioni dalle versioni originali a monte, ma ecco un elenco dei cambiamenti che è possibile riscontrare in un sistema Debian (e derivati, come Ubuntu).

  • dist-packages invece di site-packages. Il software Python di terze parti installato da pacchetti Debian viene messo in dist-packages, non site-packages. Questo viene fatto per ridurre i conflitti tra i sistemi Python e quasiasi compilazione di Python dai sorgenti che l'utente può installare manualmente.

  • I moduli standard profile e pstats non sono inclusi, a causa di clausole restrittive riguardo alla loro distribuzione nella loro licenza che non sono conformi alle DFSG. Sono tuttavia inclusi cProfile e hotshot.
  • Il pacchetto python-setuptools installa il fork Distribute invece del standard setuptools.

  • Anche python-virtualenv usa distribute in modo predefinito, ma può abilitare i classici setuptools con un parametro opzionale.

  • distutils imposta i file di installazione degli script in /usr/local/ non in sys.prefix (che di solito è /usr/). Questo perché /usr/ è riservata ai file installati dai pacchetti Debian. Notare che /usr/local/lib/pythonX.Y/dist-packages è in sys.path in modo che si possa comunque accedere con il Python di sistema ai moduli non installati da pacchetti Debian. Strumenti come debhelper passano il parametro --install-layout=deb allo script di impostazione durante la compilazione di un pacchetto Debian in modo che installi i suoi file in /usr/ non /usr/local/.

  • Python 2.7 e 3.3 possono essere usati con il ?Multiarch.

Pratiche incoraggiate

Vedere anche