| accessibilità sito : ridurre taglia del testo accessibilità sito : ingrandire taglia del testo | stampa il contenuto principale della pagina chiudere

Come installare il codice sorgente del linguaggio di programmazione Python

imparare pyhton, formazione progetti python, esercizi di formazione python, corsi individuali per apprendere python

Installazione di Python su Debian GNU/Linux, Ubuntu

Python è già installato nelle distribuzioni Linux Debian, come Ubuntu. Tuttavia, è possibile installare una versione specifica, disponibile nella distribuzione Ubuntu, con il comando apt-get. É possibile verificare le versioni disponibili di Python tramite la distribuzione d'OS Ubuntu (Ubuntu pre-built) con il comando apt-cache. Tuttavia questo modo di installazione di ulteriori versioni Python puo' essere fonte di problemi potenziali (conflitti con la versione originale installata della distribuzione OS).

$ apt-cache search python | less
$ sudo apt-get install pythonX.X

Piuttosto, è preferibile procedere con l'installazione della versione desiderata di Python da codice sorgente. Per installare una delle ultime versioni di Python da codice sorgente, occorre scaricarla da FTPPython, selezionando il numero di versione desiderato. Scaricare quindi il file .tgz ed eseguire la solita sequenza di operazioni configure, make, make altinstall. Dobbiamo anche installare le dipendenze per la versione voluta Python con il comando Ubuntu apt-get build-dep. Inoltre, prima di compilare il nuovo codice sorgente Python, dobbiamo anche installare readline. Nell'esempio seguente si procede con l'installazione della versione di Python 2.7.2:

$ sudo apt-get build-dep python  #correspondant si possible à la version Python
$ sudo apt-get install libreadline-dev
$ wget http://www.python.org/ftp/python/2.7.2/Python-2.7.2.tgz
--2012-01-18 20:33:32--  http://www.python.org/ftp/python/2.7.2/Python-2.7.2.tgz
Resolving www.python.org... 82.94.164.162
Connecting to www.python.org|82.94.164.162|:80... connected.
HTTP request sent, awaiting response... 200 OK
...
$ tar xfz Python-2.7.2.tgz
$ cd Python-2.7.2
Python-2.7.2$ ./configure
checking MACHDEP... linux2
checking EXTRAPLATDIR...
checking for −−without−gcc... no
...
Python-2.7.2$ make
gcc -pthread -c -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3
    -Wall -Wstrict-prototypes -I. -IInclude -I./Include -DPy_BUILD_CORE
    -o Modules/python.o ./Modules/python.c
...
Python-2.7.2$ sudo make altinstall
  (meglio che "sudo make install" per non interferire con la versione pre-installata)
/usr/bin/install −c python /usr/local/bin/python2.7.2
...
Python-2.7.2$ cd ..
$ sudo rm -r Python-2.7.2*
$ which python
/usr/bin/python
$ python
Python 2.6.5 (#6, Apr 16 2010, 14:23:17)
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
[Ctrl+D]
$ which python2.7
/usr/local/bin/python2.7
$ python2.7
Python 2.7.2 (default, Jan 18 2012, 16:23:53)
[GCC 4.5.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>

Lanciando questa nuova versione di Python, si potrebbe notare un errore di import del pacchetto readline (è per questo che abbiamo compilato con il codice sorgente Pyhton con la dipendenza libreadline-dev). In ogni caso tale errore non ci impedisce di utilizzare questa nuova versione Python, appena installata.

Tip

Errore GCC e librerie mancanti all compilazione

In caso di errore di compilazione riquardante la libreria gcc (error: Setup script exited with error: command 'gcc' failed with exit status 1) o di qualsiasi altro errore per librerie mancanti durante un tentativo di installazione di pacchetti terzi Python, come ad esempio setuptools, la causa potrebbe essere la mancanza di librerie specifiche al momento della compilazione del codice sorgente Python. E 'quindi importante assicurarsi che l'installazione di tali dipendenze Python siano fatte prima di compilare una specifica versione di codice sorgente Python. Dobbiamo inoltre garantire che la libreria readline sia presente. Nella maggior parte dei casi, le seguenti due righe di installazione di tali dipendenze soddisfano le nostre esigenze:

$ sudo apt-get build-dep pythonX.X
$ sudo apt-get install libreadline-dev

Come proteggere la versione Python pre-installata dalla distribuzione d'OS

É importante non modificare la versione di Python installata dalla distribuzione Ubuntu Linux, perché ci sono dipendenze da rispettare all'interno della distribuzione del sistema operativo stesso. In aggiunta al precedente esempio facendo uso di make altinstall invece di make install, ci sono altri modi per installare una nuova versione di Python in un ambiente "chiuso" senza interferire con l'installazione principale della distribuzione del sistema operativo.

Per esempio, ecco come installare Python sotto /opt creando un ambiente "chiuso" (/opt è indicato per le installazioni di pacchetti da terze parti, che non fanno parte della distribuzione ufficiale del sistema operativo, il quale installa piuttosto in /bin, /usr/bin). Con l'installazione da codice sorgente, ogni versione Python é interamente contenuta in una sotto-directory di /opt. Nel caso in cui si desidera eliminare la versione installata, occorre semplicemente cancellare la directory corrispondente all'installazione ed ogni relativo link simbolico. Per esempio per installare una nuova versione di Python in /opt, procediamo nel modo seguente (cominciando con l'installazione delle dipendenze necessarie):

$ sudo apt-get build-dep python3.2
$ sudo apt-get install libreadline-dev
$ cd /opt/
/opt$ sudo wget http://www.python.org/ftp/python/3.2.2/Python-3.2.2.tgz
--2012-01-18 19:41:21--  http://www.python.org/ftp/python/3.2.2/Python-3.2.2.tgz
Resolving www.python.org... 82.94.164.162
Connecting to www.python.org|82.94.164.162|:80... connected.
HTTP request sent, awaiting response... 200 OK
...
/opt$ sudo tar xfz Python-3.2.2.tgz
/opt$ cd Python-3.2.2
/opt/Python-3.2.2$ sudo ./configure --prefix=/opt/python3.2.2
checking for --enable-universalsdk... no
checking for --with-universal-archs... 32-bit
checking MACHDEP... linux2
checking machine type as reported by uname -m... i686
checking for --without-gcc... no
checking for gcc... gcc
...
/opt/Python-3.2.2$ make
gcc -pthread -c  -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes
    -I. -IInclude -I./Include -DPy_BUILD_CORE -o Modules/python.o ./Modules/python.c
...
/opt/Python-3.2.2$ sudo make altinstall
 (meglio che "sudo make install" per non interferire con la versione pre-installata)
/usr/bin/install -c python /opt/python3.2.2/bin/python3.2m
if test "3.2" != "3.2m"; then
...
/opt/Python-3.2.2$ cd ..
/opt$ sudo rm -r Python-3.2.2*
/opt$ sudo ln -s /opt/python3.2.2/bin/python3.2 /usr/local/bin/python3.2
/opt$ which python3.2
/usr/local/bin/python3.2
/opt$ which python2.7
/usr/local/bin/python2.7
/opt$ which python
/usr/bin/python
/opt$ python3.2
Python 3.2.2 (default, Jan 18 2012, 19:52:21)
[GCC 4.5.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> [press Ctrl+D to get back to the command prompt]

Formazione individuale e corsi di programmazione Python da RasadaCrea

Tutti i corsi di formazione in programmazione Python tenuti da RasadaCrea sono individuali e personalizzati. Contattate RasadaCrea per ulteriori informazioni sulla creazione di un piano di formazione personalizzato di corsi di programmazione Python, e per conoscere i prezzi e l'organizzazione dei programmi di apprendimento Python.