Come installo una versione diversa di Python usando apt-get?

102

Come posso installare una versione diversa di Python usando apt-get?

Ovviamente mi rendo conto che posso installare usando la sorgente tar, ma preferirei non installarlo dal sorgente e invece usare il gestore pacchetti, dato che è quello per cui è lì. Sicuramente alcuni file .deb di build affidabili per le ultime versioni di Python (perché python.org non è oltre me) di cui posso fare riferimento.

Che cosa devo fare per fare riferimento a loro e quali problemi potrebbero creare durante l'aggiornamento alla versione successiva?

Se non c'è modo tranne che per la compilazione da sorgente, c'è un pacchetto (pseudo) che posso installare che fornirà tutte le dipendenze necessarie senza doverle trovare e installare singolarmente? In modo che non capisco:

The necessary bits to build these optional modules were not found:
_bz2                  _curses               _curses_panel      
_dbm                  _gdbm                 _lzma              
_sqlite3              _ssl                  _tkinter           
readline              zlib  
    
posta harry 08.10.2015 - 08:06

8 risposte

140

Felix Krull esegue un PPA offrendo fondamentalmente qualsiasi versione di Python (seriamente, c'è 2.3.7 build per vivido ...) per molte versioni di Ubuntu a link .

Fai il solito:

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

Non sovrascriverà il python3.4 esistente che è ancora collegato simbolicamente come python3 .

NON cambiare il link simbolico! Ci sono apparentemente molte funzioni di sistema che non funzionano correttamente con python3.5.

Ho provato questo e in seguito non ho potuto aprire un terminale, un programma di aggiornamento del software, ...

cd /usr/bin
sudo rm python3

L'aggiornamento a Wily adatterà il meta-pacchetto python3 in modo che punti a python3.5 . Non mi aspetto alcuna rottura, ma a questo punto il repository esterno non è più necessario. Quindi, per essere davvero sicuro, puoi eliminare il PPA prima di eseguire l'aggiornamento.

    
risposta data Nephente 08.10.2015 - 08:34
30

Questo collegamento Youtube mi ha aiutato a installarlo.

I passaggi sono:

sudo apt-get install libssl-dev openssl
wget https://www.python.org/ftp/python/3.5.0/Python-3.5.0.tgz
tar xzvf Python-3.5.0.tgz
cd Python-3.5.0
./configure
make
sudo make install

Per verificare se è installato python digita python3.5 else:

sudo ln -fs /opt/Python-3.5.0/Python /usr/bin/python3.5
    
risposta data joydeep bhattacharjee 31.01.2016 - 06:33
9

Segui semplicemente i passaggi (testati):

Passaggio 1: installazione dei pacchetti richiesti

Utilizzare il seguente comando per installare i prerequisiti per Python prima di installarlo.

sudo apt-get install build-essential checkinstall
sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev

Passaggio 2 - Scarica Python 3.5.2

Scarica Python usando il seguente comando dal sito ufficiale di python. Puoi anche scaricare l'ultima versione al posto specificato di seguito.

cd /usr/src
sudo wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz

Ora estrai il pacchetto scaricato.

sudo tar xzf Python-3.5.2.tgz

Passaggio 3 - Compilare l'origine Python

Usa il seguente insieme di comandi per compilare il codice sorgente Python sul tuo sistema usando altinstall.

cd Python-3.5.2
sudo ./configure
sudo make altinstall

make altinstall è usato per prevenire la sostituzione del file binario python predefinito /usr/bin/python .

Passaggio 4: verifica la versione di Python

Controlla l'ultima versione installata di python usando il comando di sotto.

$ python3.5 -V

Python 3.5.2

Source .

    
risposta data Bilal 08.03.2017 - 17:47
6

Per quanto posso dire, almeno in un contenitore di finestra mobile, si può definitivamente apt-get python 3.

Per prima cosa mi sono imbattuto in un contenitore ubuntu con container:

docker run -it --rm ubuntu:latest bash

quindi per qualche motivo è stato necessario aggiornare alcune cose di Ubuntu così ho fatto (all'interno del contenitore):

apt-get update && apt-get install -y build-essential git libjpeg-dev

e quindi ho semplicemente installato python3 e sembra che abbia automaticamente python 3.5:

apt-get install python3
apt-get install python3-pip

e per verificare se pip funziona consente di scaricare qualcosa:

pip3 install tensorflow

tutto sembra funzionare bene per me.

Nota importante: sembra che se hai già installato python 3.4, apt-get install python3 non funziona perché dice che lo hai già. Sembra che fosse uno dei miei problemi perché stavo partendo da un'immagine docker di tensorflow (in particolare gcr.io/tensorflow/tensorflow:latest-devel-py3 ) e qualcosa in quell'immagine (presumo che abbiano già python 3.4 ma potrebbe qualcos'altro) non ha permesso io per aggiornare il mio python per ottenere python 3.5.

credito: l'ho scoperto quando ho chiesto quanto segue: link

Nota: si può anche installare Anaconda. Per un esempio di docker si può fare:

docker pull continuumio/anaconda3
docker run -i -t continuumio/anaconda3 /bin/bash

dal loro sito web ufficiale: link

Questa soluzione installa python 3.6 ma sono sicuro che se ci guardi dentro puoi ottenere Python 3.5 se questo è quello che vuoi.

Nota: probabilmente dovresti usare comunque un ambiente virtuale come virtual env o conda / anaconda a meno che non usi comunque la finestra mobile. Volevo solo ricordare alla gente.

    
risposta data Charlie Parker 09.02.2017 - 20:56
2

Ci sono diverse nuove distribuzioni python disponibili per l'installazione tramite apt-get elencato in Pacchetti di Ubuntu

come esempio sono attualmente disponibili le seguenti versioni:

python2.7

python3.2

python3.4

python3.5

python3.6

La disponibilità varia in base alla versione di Ubuntu. Ad esempio 3.5 è disponibile per Xenial, Yakkety e Zesty e 3.6 è disponibile per Yakkety e Zesty ma è necessario abilitare repository Universe se non abilitato a ottenerli tramite apt-get. Per verificare la disponibilità per la tua versione di Ubuntu, controlla i link sopra.

Una rapida occhiata indica che questa risposta è ancora valida in quanto PPA ha 3.6 anche per Trusty.

    
risposta data Elder Geek 14.02.2017 - 00:24
0

Prenderei in considerazione l'uso di ambienti virtuali invece di installare versioni di python tramite apt-get.

Utilizzando ambienti virtuali, vedi qui, sono una buona pratica per lo sviluppo con python. Ti permettono di isolare il tuo ambiente python dalle versioni python installate dal sistema.

Inoltre, non è necessario ottenere l'accesso sudo durante l'installazione di qualsiasi libreria (tramite pip ecc.).

    
risposta data devrimbaris 21.06.2016 - 08:20
0

Conda viene aggiornato attivamente e ti permette di installare più versioni python in venvs gestiti senza la noia di metterlo da solo. I problemi di pathing delle estensioni binari potrebbero essere stati risolti in molte delle dipendenze gestite da anaconda / catene di pip utilizzate.

    
risposta data RobotHumans 10.02.2017 - 20:55
-1

On Ubuntu 16.04.1 LTS hai sia python 2 (python), sia python3 già installato.

Per aggiornare il tema su l'ultima versione , puoi procedere come segue:

1- Aggiornare l'elenco dei pacchetti e aggiornare tutti i software di sistema all'ultima versione disponibile

sudo apt update && sudo apt -y upgrade


2 - installa python-pip e python3-pip (programma di installazione del pacchetto Python alternativo) dai repository di Ubuntu

sudo apt install python-pip
sudo apt install python3-pip

2 '- controlla le vesrions

pip -V; pip3 -V


3 - upgrade pip (lo strumento consigliato da PyPA per installare pacchetti Python ) all'ultima versione in PyPI (l'indice del pacchetto Python)

sudo -H pip3 install --upgrade pip 
sudo -H pip install --upgrade pip

3 '- controlla le vesrions

pip -V; pip3 -V

dovresti ottenere un risultato simile a:

pip 9.0.1 from /usr/local/lib/python2.7/dist-packages (python 2.7)
pip 9.0.1 from /usr/local/lib/python3.5/dist-packages (python 3.5)


4 - (facoltativo) Essere in grado di utilizzare una sovversione python per progetto / applicazione e mantenere separate le dipendenze richieste da diversi progetti. devi installare Virtualenv

[sudo -H] pip install virtualenv
    
risposta data yaitloutou 12.02.2017 - 23:04

Leggi altre domande sui tag