Differences between revisions 2 and 4 (spanning 2 versions)
Revision 2 as of 2011-12-31 18:02:33
Size: 8480
Comment: ops. minor fix
Revision 4 as of 2012-06-16 15:45:21
Size: 8752
Editor: ?skizzhg
Comment: sync with english
Deletions are marked like this. Additions are marked like this.
Line 81: Line 81:
 * [[Python/LibraryStyleGuide|Linee guida per pacchettizzare librerie Python]] (include l'aggiunta del supporto a Python 3)
 * [[Python/AppStyleGuide|Linee guida per pacchettizzare applicazioni Python]] (include il supporto a Python 3)
Line 82: Line 84:
 * Convertire il proprio pacchetto a [[Python/TransitionToDHPython2|dh_python2]]
Line 88: Line 92:
   * [[Python/TransitionToDHPython2|dh_python2]]

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@list.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/.

Pratiche incoraggiate

Vedere anche