Differences between revisions 11 and 13 (spanning 2 versions)
Revision 11 as of 2014-08-02 13:28:49
Size: 9423
Comment: sync with English master
Revision 13 as of 2015-05-03 11:17:56
Size: 9643
Comment: sync with English master
Deletions are marked like this. Additions are marked like this.
Line 27: Line 27:
Fare anche riferimento alla pagina del wiki sulla [[Python/Packaging|pacchettizzazione di Python]]. Fare anche riferimento alle pagine del wiki sulla [[Python/LibraryStyleGuide|Guida di stile per la pacchettizzazione]] e sulla [[Python/Packaging|pacchettizzazione di Python]].
 
Line 94: Line 94:
Line 96: Line 95:
   * [[Python/GitPackaging|Usare git per i pacchetti del team]] ('''proposto''')
Line 97: Line 97:
   * [[Python/StretchRoadmap|Roadmap per Python in Stretch]]

Traduzioni: 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).

Fare anche riferimento alle pagine del wiki sulla Guida di stile per la pacchettizzazione e sulla pacchettizzazione di Python.

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 Wheezy contiene Python 2.7 (il predefinito), 3.2

  • 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.

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.
  • In Debian 7 (Wheezy), il pacchetto python-setuptools installa il fork Distribute invece del standard setuptools. In Jessie (ancora non rilasciata al momento della stesura di questa pagina), si ritorna al progetto setuptools unificato.

  • Intoltre in Wheezy, anche python-virtualenv usa distribute in modo predefinito, ma può abilitare i classici setuptools con un parametro opzionale. Come per la voce precedente in Jessie userà semplicemente i setuptools unificati.

  • 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, 3.3 e 3.4 possono essere usati con il ?Multiarch.

Pratiche incoraggiate

Vedere anche