Differences between revisions 9 and 21 (spanning 12 versions)
Revision 9 as of 2013-08-04 14:17:17
Size: 8967
Comment: sync with English master
Revision 21 as of 2021-09-21 06:51:24
Size: 12362
Comment: sync with English master v. 95 (and translation header now with Inlude)
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
~-[[DebianWiki/EditorGuide#translation|Translation(s)]]: [[Python|English]] - [[fr/Python|Français]] - Italiano-~ ##Take translation header from original page
<<Include(Python, ,from="^##TAG:TRANSLATION-HEADER-START",to="^##TAG:TRANSLATION-HEADER-END")>>
Line 5: Line 6:
{{http://www.python.org/community/logos/python-logo-master-v3-TM.png|Logo ufficiale di Python|align="right"}} {{https://www.python.org/static/community_logos/python-logo-master-v3-TM.png|Logo ufficiale di Python|align="right"}}
Line 10: Line 11:
[[http://www.python.org|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. [[https://www.python.org|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 il più recente rilascio stabile di Python 3; fornisce anche il più recente rilascio stabile di Python 2, ma Python 2 non è più supportato dalla Python Foundation a partire dal 2020-01-01 e sta venendo rimosso da Debian 11 (Bullseye). Può anche fornire versioni aggiuntive, così come moltissimi pacchetti di terze parti. Python è una parte importante dell'ecosistema Debian.
Line 12: Line 13:
Python è molto facile da imparare. Se si desidera cominciare a programmare in Python, si può iniziare con il [[DebianWomen/PythonTutorial|Tutorial su Python]] o con il [[http://docs.python.org/tutorial/|tutorial online ufficiale]]. Potrebbero essere interessanti anche il [[http://wiki.python.org/moin/|wiki di Python]], le [[http://www.python.org/doc/faq/|FAQ Python]] e la [[http://www.python.org/doc/|documentazione online]]. Python è molto facile da imparare. Se si desidera cominciare a programmare in Python, si può iniziare con il [[DebianWomen/PythonTutorial|Tutorial su Python]] o con il [[https://docs.python.org/tutorial/|tutorial online ufficiale]]. Potrebbero essere interessanti anche il [[https://wiki.python.org/moin/|wiki di Python]], le [[https://docs.python.org/faq/|FAQ Python]] e la [[https://www.python.org/doc/|documentazione online]].
Line 27: Line 28:
Fare anche riferimento alle pagine del wiki sulla [[Python/LibraryStyleGuide|Guida di stile per la pacchettizzazione]] e sulla [[Python/Packaging|pacchettizzazione di Python]].
 
Dal 2015-10-09 tutti i pacchetti sono ora mantenuti in Git. La politica per l'uso di Git per i pacchetti del gruppo si può trovare [[Python/GitPackaging|qui]].

'''NOTA BENE''': Debian testing (bullseye) ha rimosso il pacchetto "python" e il collegamento simbolico '/usr/bin/python' poiché Python 2 è diventato deprecato. Nessuno script pacchettizzato dovrebbe dipendere dall'esistenza di '/usr/bin/python': se lo fanno, ciò è un bug che dovrebbe essere segnalato a Debian. Si può usare il pacchetto 'python-is-python3' o 'python-is-python2' per ripristinare un collegamento simbolico '/usr/bin/python' appropriato per script di terze parti od obsoleti.
Line 31: Line 38:
 * [[http://alioth.debian.org/projects/pkg-python|pkg-python]] mantiene il pacchetto del compilatore/interprete Python.  * [[https://salsa.debian.org/cpython-team|cpython-team]] mantiene il pacchetto del compilatore/interprete Python.
Line 33: Line 40:
 * [[Teams/PythonModulesTeam|Il Team Debian Python Modules]] mantiene alcuni moduli ed estensioni Python.

 * [[Teams/PythonAppsPackagingTeam|Il Team Python Applications Packaging]] mantiene alcune
applicazioni Python.
 * [[Teams/PythonTeam|Il Team Debian Python]] mantiene alcuni moduli ed applicazioni Python.
Line 38: Line 43:
 * [[http://lists.debian.org/debian-python/recent|la mailing list debian-python]] con tutte le discussioni sullo sviluppo  * [[https://lists.debian.org/debian-python/recent|la mailing list debian-python]] con tutte le discussioni sullo sviluppo
Line 45: Line 50:
 * Debian [[it/DebianWheezy|Wheezy]] contiene Python 2.7 (il predefinito), 3.2  * Debian [[it/DebianBullseye|Bullseye]] contiene 3.9 (vedere la nota sopra per lo stato di Python 2.7)
 * Debian [[it/DebianBuster|Buster]] contiene Python 3.7, 2.7
 * Debian [[it/DebianStretch|Stretch]] contiene Python 2.7, 3.5
 * Debian [[it/DebianJessie|Jessie]] contiene Python 2.7, 3.4
 * Debian [[it/DebianWheezy|Wheezy]] contiene Python 2.7, 3.2
Line 49: Line 58:
 * Debian [[it/DebianUnstable|Unstable]] contiene parte di [[DebianPkg:unstable/python/python-all|2.x]] e [[DebianPkg:unstable/python/python3-all|3.x]]  * Debian [[it/DebianUnstable|Unstable]] contiene parte di [[DebianPkg:unstable/python/python-all|2.x]] e [[DebianPkg:unstable/python/python3-all|3.x]], python2 è in fase di rimozione https://wiki.debian.org/Python/2Removal
Line 53: Line 62:
 * Distribuzioni che forniscono [[http://packages.debian.org/search?keywords=python3.2&searchon=names&exact=1&suite=all&section=all|python3.2]]
 * Distribuzioni che forniscono [[http://packages.debian.org/search?keywords=python3.1&searchon=names&exact=1&suite=all&section=all|python3.1]]
 * Distribuzioni che forniscono [[http://packages.debian.org/search?keywords=python3.0&searchon=names&exact=1&suite=all&section=all|python3.0
]] (nessuna)
 * Distribuzioni che forniscono [[http://packages.debian.org/search?keywords=python2.7&searchon=names&exact=1&suite=all&section=all|python2.7]]
 * Distribuzioni che forniscono [[http://packages.debian.org/search?keywords=python2.6&searchon=names&exact=1&suite=all&section=all|python2.6]]
 * Distribuzioni che forniscono [[http://packages.debian.org/search?keywords=python2.5&searchon=names&exact=1&suite=all&section=all|python2.5]]
 * Distribuzioni che forniscono [[http://packages.debian.org/search?keywords=python2.4&searchon=names&exact=1&suite=all&section=all|python2.4]]
 * Distribuzioni che forniscono [[https://packages.debian.org/search?keywords=python3.9&searchon=names&exact=1&suite=all&section=all|python3.9]]
 * Distribuzioni che forniscono [[https://packages.debian.org/search?keywords=python3.8&searchon=names&exact=1&suite=all&section=all|python3.8]] (nessuna)
 * Distribuzioni che forniscono [[https://packages.debian.org/search?keywords=python3.7&searchon=names&exact=1&suite=all&section=all|python3.7]]
 * Distribuzioni che forniscono [[https://packages.debian.org/search?keywords=python3.6&searchon=names&exact=1&suite=all&section=all|python3.6]] (nessuna)
 * Distribuzioni che forniscono [[https://packages.debian.org/search?keywords=python3.5&searchon=names&exact=1&suite=all&section=all|python3.5]]
 * Distribuzioni che forniscono [[https://packages.debian.org/search?keywords=python3.4&searchon=names&exact=1&suite=all&section=all|python3.4]]
 * Distribuzioni che forniscono [[https://packages.debian.org/search?keywords=python3.3&searchon=names&exact=1&suite=all&section=all|python3.3]]
 * Distribuzioni che forniscono [[https://packages.debian.org/search?keywords=python3.
2&searchon=names&exact=1&suite=all&section=all|python3.2]]
 * Distribuzioni che forniscono [[https://packages.debian.org/search?keywords=python3.1&searchon=names&exact=1&suite=all&section=all|python3.1]]
 * Distribuzioni che forniscono [[https://packages.debian.org/search?keywords=python3.0&searchon=names&exact=1&suite=all&section=all|python3.0]] (nessuna)
 * Distribuzioni che forniscono [[https://packages.debian.org/search?keywords=python2
.7&searchon=names&exact=1&suite=all&section=all|python2.7]]
 * Distribuzioni che forniscono [[https://packages.debian.org/search?keywords=python2.6&searchon=names&exact=1&suite=all&section=all|python2.6]]
 * Distribuzioni che forniscono [[https://packages.debian.org/search?keywords=python2.5&searchon=names&exact=1&suite=all&section=all|python2.5]]
 * Distribuzioni che forniscono [[https://packages.debian.org/search?keywords=python2.4&searchon=names&exact=1&suite=all&section=all|python2.4]]
Line 63: Line 79:
La [[http://www.debian.org/doc/packaging-manuals/python-policy/|Debian Python Policy]] descrive le convenzioni per pacchettizzare e distribuire il codice Python in Debian. La [[https://www.debian.org/doc/packaging-manuals/python-policy/|Debian Python Policy]] descrive le convenzioni per pacchettizzare e distribuire il codice Python in Debian.
Line 69: Line 85:
Esiste una bella [[http://www.rowinggolfer.org/tutorials/packaging/dh_python2_tutorial.html|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 [[https://www.ubuntu.com|Ubuntu]]).
Line 71: Line 88:
== 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 [[http://www.ubuntu.com|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 [[http://www.python.org/download/|compilazione di Python dai sorgenti]] che l'utente può installare manualmente.
 * `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 [[https://www.python.org/download/|compilazione di Python dai sorgenti]] che l'utente può installare manualmente.
Line 76: Line 90:
 * Il pacchetto `python-setuptools` installa il fork [[http://packages.python.org/distribute/|Distribute]] invece del standard [[http://peak.telecommunity.com/|setuptools]].
 * Anche `python-virtualenv` usa `distribute` in modo predefinito, ma può abilitare i classici `setuptools` con un parametro opzionale.
 * In Debian 7 (Wheezy), il pacchetto `python-setuptools` installa il fork [[http://packages.python.org/distribute/|Distribute]] invece del standard [[http://peak.telecommunity.com/|setuptools]]. In Debian 8 (Jessie) si è ritornati al progetto [[https://pypi.python.org/pypi/setuptools|setuptools unificato]].
 * Intoltre in Debian 7 (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 Debian 8 (Jessie) vengono usati semplicemente i setuptools unificati.
Line 79: Line 93:
 * Python 2.7 e 3.3 possono essere usati con il [[/MultiArch|Multiarch]].  * Python 2.7, 3.3 e 3.4 possono essere usati con il [[/MultiArch|Multiarch]].
Line 88: Line 102:
== Installare dai sorgenti ==
Se si desidera la più recente versione, o una versione di sviluppo, di Python, sarà probabilmente necessario installarlo dai sorgenti.
Per farlo, come prima cosa assicurarsi di avere le dipendenze di compilazione. Come root eseguire: "aptitude build-dep python3"

Scegliere la propria versione e scaricare l'"archivio sorgente compresso con gzip" della versione scelta dalla [[https://www.python.org/downloads/source/|pagina degli scaricamenti di Python]].

Una volta ottenuto l'archivio, estrarlo usando "tar -xvf Python-<NOME_COMPLETO_VERSIONE>.tgz".
Una volta fatto, spostarsi nella directory con "cd Python-<NOME_COMPLETO_VERSIONE>" e usare il seguente comando per compilare Python dai sorgenti: "./configure && make && make test" (come utente regolare).
Per installarlo globalmente senza danneggiare il Python di sistema installato con APT, usare il target altinstall (come root): "make altinstall".
Line 91: Line 114:

* Transizioni
   * [[Python/JessieRoadmap|Roadmap per Python in Jessie]]
 * Transizioni attuali
   * [[Python/StretchRoadmap|Roadmap per Python in Stretch]]
 * Tran
sizioni storiche
Line 95: Line 118:
   * [[Python/JessieRoadmap|Roadmap for Python in Jessie]]
Line 97: Line 121:

----

CategorySoftware | CategoryProgramming


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 il più recente rilascio stabile di Python 3; fornisce anche il più recente rilascio stabile di Python 2, ma Python 2 non è più supportato dalla Python Foundation a partire dal 2020-01-01 e sta venendo rimosso da Debian 11 (Bullseye). 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.

Dal 2015-10-09 tutti i pacchetti sono ora mantenuti in Git. La politica per l'uso di Git per i pacchetti del gruppo si può trovare qui.

NOTA BENE: Debian testing (bullseye) ha rimosso il pacchetto "python" e il collegamento simbolico '/usr/bin/python' poiché Python 2 è diventato deprecato. Nessuno script pacchettizzato dovrebbe dipendere dall'esistenza di '/usr/bin/python': se lo fanno, ciò è un bug che dovrebbe essere segnalato a Debian. Si può usare il pacchetto 'python-is-python3' o 'python-is-python2' per ripristinare un collegamento simbolico '/usr/bin/python' appropriato per script di terze parti od obsoleti.

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

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 Debian 8 (Jessie) si è ritornati al progetto setuptools unificato.

  • Intoltre in Debian 7 (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 Debian 8 (Jessie) vengono usati 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

Installare dai sorgenti

Se si desidera la più recente versione, o una versione di sviluppo, di Python, sarà probabilmente necessario installarlo dai sorgenti. Per farlo, come prima cosa assicurarsi di avere le dipendenze di compilazione. Come root eseguire: "aptitude build-dep python3"

Scegliere la propria versione e scaricare l'"archivio sorgente compresso con gzip" della versione scelta dalla pagina degli scaricamenti di Python.

Una volta ottenuto l'archivio, estrarlo usando "tar -xvf Python-<NOME_COMPLETO_VERSIONE>.tgz". Una volta fatto, spostarsi nella directory con "cd Python-<NOME_COMPLETO_VERSIONE>" e usare il seguente comando per compilare Python dai sorgenti: "./configure && make && make test" (come utente regolare). Per installarlo globalmente senza danneggiare il Python di sistema installato con APT, usare il target altinstall (come root): "make altinstall".

Vedere anche


CategorySoftware | CategoryProgramming