Come installo Python 3.6 usando apt-get?


363

Ho provato nel modo normale sudo apt-get install python3.6, ma ... beh ... non ha funzionato.

Quindi, come potrei farlo? (Preferibilmente non lo costruirò da solo)

Sto usando Ubuntu 16.04.


5
Forse python 3.6 non è disponibile per la tua distribuzione. Se hai installato aptitude, eseguiaptitude search python3
ridgy il

Risposte:


525

Ubuntu 14.04 (Trusty), 16.04 (Xenial)

Se stai usando Ubuntu 14.04 o 16.04, puoi usare i deadsnakes PPA di Felix Krull su https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa :

sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
sudo apt-get install python3.6

In alternativa, puoi usare il PPA di J Fernyhough su https://launchpad.net/~jonathonf/+archive/ubuntu/python-3.6 :

sudo add-apt-repository ppa:jonathonf/python-3.6
sudo apt-get update
sudo apt-get install python3.6

Ubuntu 16.10, 17.04

Se stai usando Ubuntu 16.10 o 17.04, Python 3.6 è nel repository dell'universo, quindi puoi semplicemente eseguire:

sudo apt-get update
sudo apt-get install python3.6

Dopo l'installazione per Ubuntu 14.04, 16.04, 16.10 e 17.04

Per invocare l'interprete Python 3.6, eseguire python3.6.

Ubuntu 17.10 e 18.04 (Bionic)

Ubuntu 17.10 e 18.04 sono già dotati di Python 3.6 come impostazione predefinita. Corri solo python3per invocarlo.


5
Nota che python3.6 in Ubuntu 16.10 è una versione beta che presenta alcuni problemi (come una perdita di memoria molto dolorosa dictche si presenta in alcune rare circostanze).
Marius Gedminas,

102
ATTENZIONE - Non essere in alcun caso tentato di correresudo apt remove python3.5o qualcosa di simile; Python è fondamentalmente più integrato in Ubuntu di quanto pensi e potresti interrompere l'installazione di Ubuntu. Se vuoipython3mapparepython3.6, crea invece un link simbolico!
Huw Walters,

19
Vedo che non esiste un python3.6-pippacchetto e quindi lo curl https://bootstrap.pypa.io/get-pip.py | sudo python3.6installavo pip.
Acumenus,

5
In qualche modo Python è ppa:jonathonf/python-3.6arrivato con pip rotto e senza easy_install il 14.04. Tuttavia, sono riuscito a risolverlo installando easy_install e quindi reinstallando pip tramite curl https://bootstrap.pypa.io/ez_setup.py -o - | python3.6 && python3.6 -m easy_install pipNel caso in cui qualcuno
incontri

6
Come alcuni altri commentatori sopra, ho anche avuto problemi pipcon l'installazione ppa:jonathonf/python-3.6. D'altra parte, ha ppa:deadsnakes/ppafunzionato perfettamente ( apt-get install python3.6 python3.6-venv -y).
Michael Herrmann,

133

Consiglierei Pyenv per risolvere i tuoi problemi. Non usa Aptitude, e non comporta "costruire da te", ma è completamente automatizzato . Puoi costruire e installare una nuova (o vecchia) versione di Python semplicemente dicendo pyenv install 3.6.0. Tutto funziona come il tuo utente, quindi non devi preoccuparti di rovinare il Python usato da Ubuntu stesso.

Inoltre, la risposta alla domanda di follow-up "Come installo Python 3.7 usando apt-get?" ha la stessa risposta: pyenv update; pyenv install 3.7.0. In genere funzionerà lo stesso giorno di rilascio perché non è necessario attendere che qualcun altro lo impacchetti per Ubuntu. Vedi tutte le versioni che puoi installarepyenv install --list

Installa Pyenv

  1. Installa gli strumenti e le intestazioni necessari per costruire CPython (i Python esotici come PyPy o Jython potrebbero avere altre dipendenze). Git è usato da Pyenv, inoltre abilita anche le compilazioni / installazioni dei rami dei sorgenti, quindi puoi installare qualunque sia il 3.8 in questo momento, cioè il ramo principale di CPython appena uscito da GitHub:

    sudo apt-get install -y git
    sudo apt-get install -y build-essential libbz2-dev libssl-dev libreadline-dev \
                            libffi-dev libsqlite3-dev tk-dev
    
    # optional scientific package headers (for Numpy, Matplotlib, SciPy, etc.)
    sudo apt-get install -y libpng-dev libfreetype6-dev    
  2. Esegui lo script di installazione (installa pyenv e alcuni plugin pyenv molto utili dell'autore originale; vedi qui per ulteriori informazioni)

    curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
  3. Aggiungi init lines al tuo ~/.profileo ~/.bashrc(lo menziona alla fine dello script di installazione):

    export PATH="$HOME/.pyenv/bin:$PATH"
    eval "$(pyenv init -)"
    eval "$(pyenv virtualenv-init -)"
  4. Riavvia la shell (chiudi e apri o exec $SHELL) o ricarica lo script del profilo. (con es. source ~/.bashrc)

Fatto!

Configurare un ambiente

Per non toccare il sistema Python (generalmente una cattiva idea; i servizi a livello di sistema operativo potrebbero fare affidamento su alcune versioni di librerie specifiche, ecc.) Creare il proprio ambiente, è facile! Ancora meglio, no sudo, per esso o pipinstalla!

  1. Installa la tua versione preferita di Python (questo scaricherà il sorgente e lo costruirà per il tuo utente, nessun input richiesto)

    pyenv install 3.6.0
  2. Trasformalo in virtualenv in modo da poterne fare altri in seguito, se lo desideri

    pyenv virtualenv 3.6.0 general
  3. Rendilo attivo a livello globale (per il tuo utente)

    pyenv global general
  4. Fai quello che vuoi con Python / pip, ecc. È tuo.

Se si desidera ripulire le librerie in un secondo momento, è possibile eliminare virtualenv ( pyenv uninstall general) o crearne uno nuovo ( pyenv virtualenv 3.6.0 other_proj). Puoi anche avere ambienti attivi per directory: pyenv local other_projrilascerà un .python-versionfile nella tua cartella corrente e ogni volta che invocherai Python o utilità Python installate da pip da esso o sotto di esso, saranno sfuggiti a pyenv.

Risoluzione dei problemi

  • bash: pyenv: command not found, fish: Unknown command 'pyenv'

    1. Controlla il tuo $PATH, ci dovrebbe essere una voce che termina in qualcosa del genere .pyenv/bin. Se manca, assicurati di aver seguito # 3 E # 4 (riavvia la shell) sotto Installa pyenv sopra.
  • pyenv: no such command 'virtualenv'

    1. Se non hai utilizzato lo script di installazione, probabilmente hai installato solo il pacchetto root pyenv. Vedi pyenv-virtualenv per istruzioni su come aggiungere il plugin
    2. Se hai utilizzato lo script di installazione, controlla se viene visualizzato con pyenv commands.

1
C'è un avvertimento, quando si utilizza pyenv con Python 2.x (o versioni 3.x molto vecchie prima che avvenisse la nuova rappresentazione interna della stringa Unicode): pyenv usa i flag di compilazione upstream predefiniti e costruisce con stringhe Unicode a 16 bit. Le distro Linux generalmente vengono create con stringhe Unicode a 32 bit. Ciò causa dolore quando installi alcune cose sia in Pyenv che in Pyons non-pyenv, a causa della memorizzazione nella cache delle ruote pip.
Marius Gedminas,

@marius perché dovresti mai usare una versione non pyenv dopo averla installata?
Nick T,

3
Non lo so, ma ho scoperto questo problema aiutando qualcuno nel debug IRC a risolvere un problema a causa del quale un particolare pacchetto Python (lxml?) Non funzionava a causa di ciò. Quindi succede in pratica, ad alcune persone, e vale la pena conoscerlo. (La soluzione alternativa è rm -r ~/.cache/pip/wheels/.)
Marius Gedminas,

1
Deve pyenvessere installato per ogni utente che necessita di Python? E se ho 3 utenti che hanno bisogno della stessa versione di Python 3.6, allora dovrà compilarlo 3 volte e ci vorrà 3x spazio su disco? Se questo è vero, allora fa schifo ...: /
Sarge Borsch,

1
@SargeBorsch per impostazione predefinita (se si utilizza pyenv-installer) è un'installazione utente, ma non c'è nulla che ti impedisca di installarlo /opto altro e di aggiungere alcuni link simbolici /bin. Trovo che sia solo per l'utente essere estremamente utile; gli utenti non hanno bisogno di sudo (oltre alle librerie). Lo spazio su disco è economico.
Nick T,

14

Dipende dalla versione di Ubuntu in uso.

Ubuntu 16.10 e Ubuntu 17.04

Poiché Python 3.6 è installato nel repository universe di Ubuntu 16.10 e Ubuntu 17.04, è possibile installare direttamente python 3.6 dal repository. Usa i comandi seguenti:

sudo apt update
sudo apt install python3.6

Ubuntu 16.04

Esistono due modi per installare Python3.6 su Ubuntu 16.04

  • Compilare e installare python 3.6 su Ubuntu 16.04
  • Installa Python 3.6 su Ubuntu 16.04 da PPA

1. Compilare e installare python 3.6 su Ubuntu 16.04

Installa le dipendenze necessarie, scarica il codice sorgente di Python 3.6 e crea l'ambiente e installa

sudo apt install build-essential checkinstall
sudo apt install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev
wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tar.xz
tar xvf Python-3.6.0.tar.xz
cd Python-3.6.0/
./configure
sudo make altinstall

2. Installa python 3.6 su Ubuntu 16.04 da PPA

È possibile installare Python 3.6 da PPA utilizzando i comandi seguenti

sudo add-apt-repository ppa:jonathonf/python-3.6
sudo apt update
sudo apt install python3.6

Se Python 3.6 è installato correttamente, è possibile richiamare l'interprete python eseguendolo python3.6nel terminale.

Spero che questo possa essere d'aiuto. In caso di problemi, puoi controllare questo post sul blog qui .


2
Questa è essenzialmente una copia della risposta accettata. Dov'è il valore aggiunto della tua risposta?
Marc Vanhoomissen,

2
Il primo passo in Ubuntu 16.04 è per coloro che vogliono compilare e installare python 3.6 per qualche motivo. Il processo di compilazione e installazione di Python 3.6 su Ubuntu 16.04 non è disponibile nella risposta accettata o in quella risposta nel thread. Gli altri punti sono chiarire la versione di Ubuntu e in che modo differisce dalle altre risposte accettate.
Aryal Bibek,

1
Le installazioni PPA sul 16.04 (nuovo) non funzionano. L'installazione dalle informazioni di origine è utile.
Demented Hedgehog

13

Un percorso alternativo se non riesci a trovare nessun repository funzionante potrebbe essere quello di provare a compilare te stesso dalla fonte. Puoi trovare il codice sorgente nella pagina di download . Quindi scaricare e decomprimere il tarball; per esempio per Python-3.6.1.tgz.

Il processo per decomprimere il file tgz è:

tar -xvzf /path/to/yourfile.tgz

Una volta che sei nel percorso del file in cui è stato decompresso il file, esegui:

./configure
make
make altinstall

E spero che questo dovrebbe risolvere il problema per te.


4
Domanda dice (id preferably not build it on my own). Forse sarebbe meglio seguire il aptpercorso, se possibile.
TheWanderer,

Ok, darò un'occhiata per vedere se riesco a trovare repository alternativi per te. Hai già avuto la possibilità di cercare su Google altri repository alternativi? Non voglio suggerire cose che hai già provato.
Just In Time Berlake,

Non sono l'OP. Sto solo dando un suggerimento. Non sono riuscito a trovare PPA per 3.6, quindi la costruzione potrebbe essere il percorso necessario. Probabilmente dovresti affrontarlo nella tua risposta.
TheWanderer,

I tuoi comandi make falliranno su un sistema che l'utente non ha mai creato nulla, poiché ci sono molti pacchetti richiesti. "sudo apt installa build-essential libssl-dev zlib1g-dev libncurses5-dev libncursesw5-dev libreadline-dev libsqlite3-dev libgdbm-dev libdb5.3-dev libbz2-dev libexpat1-dev liblzma-dev tk-dev"
Joe

4

Per Ubuntu 15.10 l'ho installato con successo usando questo metodo:

sudo add-apt-repository ppa:jonathonf/python-3.6

Ma ho modificato questo file:

sudo vi /etc/apt/sources.list.d/jonathonf-ubuntu-python-3_6-wily.list

E ho cambiato astutamente in fidato e poi:

sudo apt-get update
sudo apt-get install python3.6

12
Ubuntu 15.10? È passato EOL mesi fa. È ora di aggiornare.
edwinksl,


0

Innanzitutto, segui alcune delle altre risposte per installare Python 3.6 o 3.7. Quindi, se si desidera installare pacchetti PyPi come OpenEXR attraverso di pipvoi, potrebbero verificarsi alcuni errori. Alcuni di essi (ad es. Per il pacchetto PyPi di OpenEXR) potrebbero essere risolti installando il pacchetto di sviluppo Python per il tuo Python appena installato. Questo può essere fatto usando i seguenti:

sudo apt-get install python3.6-dev

o

sudo apt-get install python3.7-dev


0

Forse suggerire Conda non è una cattiva idea. Penso che sia almeno più facile che usare Pyenv. Ma forse dipende da cosa intendi fare con Python dopo tutto, perché penso che con Conda potresti finire con alcuni pacchetti extra.

EDIT : probabilmente vale la pena ricordare che dopo aver installato la versione predefinita di Conda di Python, puoi installare la versione che ti serve, qui 3.6, usando condalike

conda install python==3.6
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.