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 <enter> to keep the current choice[*], or type selection number:
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.
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.