Domanda Come installo Python 3.6 usando apt-get?


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.


277
2017-12-28 19:52


origine


Forse Python 3.6 non è disponibile per la tua distribuzione. Se hai installato aptitude, correre aptitude search python3 - ridgy


risposte:


Ubuntu 14.04 (Trusty), 16.04 (Xenial) e 18.04 (Bionic)

Se stai usando Ubuntu 14.04, 16.04 o 18.04, puoi usare PPA dei morti mortali di Felix Krull a 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 a 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 e 17.04

Se si utilizza Ubuntu 16.10 o 17.04, Python 3.6 si trova nel repository universe, quindi è sufficiente 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

Ubuntu 17.10 è già fornito con Python 3.6 come predefinito. Corri python3 invocarlo.


409
2017-12-28 20:26



Si noti che python3.6 in Ubuntu 16.10 è una versione beta che ha alcuni problemi (come una perdita di memoria molto dolorosa in dict ciò si presenta in alcune rare circostanze). - Marius Gedminas
ATTENZIONE - Non essere mai tentato di correre in nessuna circostanza sudo apt remove python3.5 o qualcosa del genere; Python è fondamentalmente cotto in Ubuntu di quanto si pensi, e si potrebbe interrompere l'installazione di Ubuntu. Se vuoi python3 mappare a python3.6, crea invece un link simbolico! - Huw Walters
Vedo che non c'è python3.6-pip pacchetto, e così ho usato curl https://bootstrap.pypa.io/get-pip.py | sudo python3.6 installare pip. - A-B-B
Da qualche parte python da ppa:jonathonf/python-3.6 arrivato con pipe rotto e no 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 pip Nel caso in cui qualcuno si imbatta nello stesso problema ... - FirefoxMetzger
Come altri commentatori di cui sopra, ho anche avuto difficoltà a ottenere pipinstallare con ppa:jonathonf/python-3.6. D'altra parte, ppa:deadsnakes/ppa ha funzionato perfettamenteapt-get install python3.6 python3.6-venv -y). - Michael Herrmann


io raccomanderei pyenv per risolvere i tuoi problemi. Non usa Aptitude e fa coinvolgere "costruendo te stesso", ma è Completamente automatizzato. Puoi creare e installare una nuova (o vecchia) versione di Python semplicemente dicendo pyenv install 3.6.0. Tutto funziona come utente, quindi non devi preoccuparti rovinare il Python usato da Ubuntu stesso.

Installa pyenv

  1. Installa le intestazioni necessarie per costruire CPythons (Python esotici come PyPy o Jython possono avere altre dipendenze):

    sudo apt-get install -y build-essential libbz2-dev libssl-dev libreadline-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 dall'autore originale; vedi Qui per più)

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

    export PATH="~/.pyenv/bin:$PATH"
    eval "$(pyenv init -)"
    eval "$(pyenv virtualenv-init -)"
    
  4. Riavvia il tuo guscio (chiudi e apri o exec $SHELL) o ricaricare lo script del profilo. (ad es. source ~/.bashrc)

Fatto!

Impostazione di un ambiente

Per non toccare il sistema Python (generalmente una cattiva idea, i servizi a livello di sistema operativo potrebbero basarsi su alcune versioni specifiche della libreria, ecc.) Creare il proprio ambiente, è facile! Ancora meglio, no sudo, per esso o pip installa!

  1. Installa la tua versione preferita di Python (questo scaricherà l'origine e la compilerà per il tuo utente, nessun input richiesto)

    pyenv install 3.6.0
    
  2. Rendilo un virtualenv in modo che tu possa renderne gli altri più tardi, se lo desideri

    pyenv virtualenv 3.6.0 general
    
  3. Rendilo globalmente attivo (per il tuo utente)

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

Se vuoi pulire le tue librerie in un secondo momento, puoi 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_proj lascerà cadere a .python-version file nella tua cartella corrente e ogni volta che invochi Python o utilità Python installate tramite pip da esso o sotto di essa, verranno piene di pyenv.

Risoluzione dei problemi

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

    1. Controlla il tuo $PATH, dovrebbe esserci una voce che termina in qualcosa di simile .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 usato lo script di installazione, probabilmente hai installato solo il pacchetto pyenv di root. Vedere pyenv-virtualenv per le istruzioni per aggiungere il plugin
    2. Se hai usato lo script di installazione, controlla se si presenta con pyenv commands.

101
2017-12-29 02:46



o non plurale, perché le ragioni di Debian. - Nick T
C'è un avvertimento, quando si usa pyenv con Python 2.x (o versioni 3.x molto vecchie prima che si verificasse la nuova rappresentazione interna della stringa Unicode): pyenv usa i flag di compilazione upstream e le build predefinite con stringhe Unicode a 16 bit. Le distro di Linux generalmente vengono create con stringhe Unicode a 32 bit. Questo causa dolore quando installi delle cose nei pitoni pyenv e non-pyenv, perché la caching della rotella pip. - Marius Gedminas
Non lo so, ma ho scoperto questo problema aiutando qualcuno su IRC a eseguire il debug di un problema in cui un particolare pacchetto Python (lxml?) Non funzionava a causa di questo. Così succede nella pratica, ad alcune persone, e vale la pena di saperlo. (La soluzione è rm -r ~/.cache/pip/wheels/.) - Marius Gedminas
fa pyenv deve essere installato per ogni utente che ha bisogno di Python? E se ho 3 utenti che hanno bisogno della stessa versione di Python 3.6, allora dovrà compilarlo 3 volte e ci vorranno 3x di spazio su disco? Se è vero, allora fa schifo ...: / - Sarge Borsch
@SargeBorsch di default (se usi pyenv-installer) è un'installazione utente, ma non c'è nulla che ti impedisca di installarlo /opt o qualsiasi altra cosa e aggiungendo alcuni collegamenti simbolici a /bin. Trovo che essere solo utente sia estremamente utile; gli utenti non hanno bisogno di sudo (diverso da libs). Lo spazio su disco è economico. - Nick T


Un percorso alternativo se non riesci a trovare alcun repository funzionante potresti provare a compilare te stesso dal sorgente. 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 nel percorso del file in cui è stato decompresso il file, eseguire:

./configure
make
make altinstall

E spero che questo dovrebbe risolvere il problema per voi.


12
2017-12-28 20:10



La domanda dice (id preferably not build it on my own). Forse sarebbe meglio andare al apt percorso se possibile. - TheWanderer
Ok, darò un'occhiata per vedere se riesco a trovare altri repository alternativi per te. Hai avuto la possibilità di guardare su Google per repository alternativi te stesso ancora? Non voglio suggerire cose che hai già provato. - Just In Time Berlake
Io non sono l'OP. Sto solo facendo un suggerimento. Non sono riuscito a trovare alcun PPA per 3.6, quindi l'edificio 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 costruito nulla, visto che ci sono molti pacchetti richiesti. "sudo apt install 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


Dipende dalla versione di Ubuntu che stai usando.

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. Basta usare i comandi qui sotto:

sudo apt update
sudo apt install python3.6

Ubuntu 16.04

Ci sono 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 eseguendo python3.6 nel terminale.

Spero che aiuti. Se hai problemi, puoi controllare questo post sul blog Qui.


6
2018-01-04 18:51



Questa è essenzialmente una copia della risposta accettata. Dov'è il valore aggiunto della tua risposta? - Marc Vanhoomissen
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 nessuna risposta nel thread. Gli altri punti sono chiarire la versione di Ubuntu e come si differenzia da altre risposte accettate. - Aryal Bibek
Le installazioni PPA in data 16.04 (Mint) appaiono interrotte. L'installazione dalle informazioni di origine è utile. - demented hedgehog


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 astuto a fidato e poi:

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

3
2018-06-14 06:59



Ubuntu 15.10? È andato EOL mesi fa. Tempo di aggiornamento. - edwinksl


Prendere in considerazione pyenv + pipenv che deve essere sostituito usando gli ambienti virtuali PIP + usando Pipfile

Quindi in Pipfile

[requires]
python_version = "3.6"

https://stackoverflow.com/a/49800061/1689770


0
2017-09-02 02:40