Come installare Python 3.6?

Vorrei installare l'ultimo Python, che è il 3.6 al momento di questo post. Tuttavia, il repository dice che Python 3.4.2 è la versione più recente.

Ho provato:

-- lingua: lang-none -->

$ sudo apt-get update
$ sudo apt-get install python3

python3 is already the newest version.

$ python -V

Python 3.4.2

Per aggiornare a Python 3.6 sulla mia postazione Windows, ho semplicemente scaricato un exe, cliccato "next" un paio di volte, ed è fatta. Qual è la procedura corretta e ufficialmente accettata per installare Python 3.6 su Debian Jessie?

Potete installare Python-3.6 su Debian 8 come segue:

wget https://www.python.org/ftp/python/3.6.9/Python-3.6.9.tgz
tar xvf Python-3.6.9.tgz
cd Python-3.6.9
./configure --enable-optimizations --enable-shared
make -j8
sudo make altinstall
python3.6

Si raccomanda di usare make altinstall secondo il sito ufficiale.

Se vuoi che pip sia incluso, devi aggiungere --with-ensurepip=install alla tua chiamata configure. Per maggiori dettagli vedi ./configure --help.

Attenzione: make install può sovrascrivere o mascherare il binario python. make altinstall è quindi raccomandato al posto di make install poiché installa solo exec_prefix/bin/pythonversion.

Alcuni pacchetti devono essere installati per evitare alcuni problemi noti, vedi: Problemi comuni di compilazione(aggiornato)

Ubuntu/Debian:

sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \
libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \
xz-utils tk-dev libffi-dev liblzma-dev

Alternativa di libreadline-dev:

sudo apt install libedit-dev

Fedora/CentOS/RHEL(aws ec2):

sudo yum install zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel \
openssl-devel xz xz-devel libffi-devel

Alternativa di openssl-devel:

sudo yum install compat-openssl10-devel --allowerasing

Aggiornamento

Puoi scaricare l'ultimo python-x.y.z.tar.gz da qui.

Per impostare una versione python predefinita e passare facilmente da una all'altra, devi aggiornare il tuo update-alternatives con la versione multipla di python.

Diciamo che hai installato il python3.7 su debian stretch, usa il comando whereis python per localizzare il binario (*/bin/python):

/usr/local/bin/python3.7
/usr/bin/python2.7
/usr/bin/python3.5

Aggiungere le versioni di python:

update-alternatives --install /usr/bin/python python /usr/local/bin/python3.7 50
update-alternatives --install /usr/bin/python python /usr/bin/python2.7 40
update-alternatives --install /usr/bin/python python /usr/bin/python3.5 30

Il python3.7 con la priorità 50 è ora il tuo python di default, il python -V stamperà:

Python 3.7.0b2

Per passare dall'uno all'altro, usa:

update-alternatives --config python

Esempio di output:

There are 3 choices for the alternative python (providing /usr/bin/python).

  Selection    Path                      Priority   Status
------------------------------------------------------------
* 0            /usr/local/bin/python3.7   50        auto mode
  1            /usr/bin/python2.7         40        manual mode
  2            /usr/bin/python3.5         30        manual mode
  3            /usr/local/bin/python3.7   50        manual mode

Press  to keep the current choice[*], or type selection number: 
Commentari (13)

Potresti voler dare un'occhiata a pyenv: https://github.com/yyuu/pyenv . Per citare il tutorial di pyenv di Amaral Lab:

Precedentemente conosciuto come Pythonbrew, pyenv vi permette di cambiare la versione di Python, installare più versioni di Python, impostare directory (progetto) versioni Python specifiche, e sì creare/gestire ambienti python virtuali ambienti python virtuali ("virtualenvs"). Tutto questo viene fatto su macchine *NIX-style macchine (Linux e OS X) senza dipendere da Python stesso e funziona a livello utente - non c'è bisogno di alcun comando sudo.

Commentari (4)

Debian non ha Python 3.6 nei suoi repository. Ecco un'istantanea dello stato attuale di Python3:

wheezy (oldstable) (python): interactive high-level object-oriented language (default python3 version)
    3.2.3-6: all
jessie (stable) (python): interactive high-level object-oriented language (default python3 version)
    3.4.2-2: amd64 arm64 armel armhf i386 mips mipsel powerpc ppc64el s390x
stretch (testing) (python): interactive high-level object-oriented language (default python3 version)
    3.5.1-4: amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x
sid (unstable) (python): interactive high-level object-oriented language (default python3 version)
    3.5.1-4: alpha amd64 arm64 armel armhf hppa hurd-i386 i386 kfreebsd-amd64 kfreebsd-i386 m68k mips mips64el mipsel powerpc powerpcspe ppc64 ppc64el s390x sh4 sparc64 x32

Potete controllare questi qui.

Puoi installare la 3.6 sia dai sorgenti, sia usando qualcosa come Linuxbrew per un'installazione nella home directory.

Commentari (0)