Come cambiare la versione Python su Linux usando Pyevn

Come cambiare la versione Python su Linux usando Pyevn

Devi eseguire un software che richiede una versione diversa di Python rispetto a quella che hai installato sul tuo sistema? Esistono diversi modi in cui puoi risolvere questo problema, ma il più semplice si basa su uno strumento chiamato Pyenv. Discutiamo brevemente cosa fa Pyenv e perché dovresti usarlo prima di spiegare esattamente cosa devi fare per cambiare con sé la versione di Python predefinita.

Cos'è pyenv e come funziona?

Pyenv è uno strumento di gestione della versione Python realizzato con script di Shell Pure, il che significa che non dipende da Python. È bello perché l'ultima cosa che desideri è inquinare il tuo ambiente installando uno strumento che dovrebbe aiutarti a gestirlo meglio.

La bellezza di Pyenv deriva dal fatto che aggiunge semplicemente una directory nella parte superiore del tuo percorso $, una variabile che dice al sistema operativo Linux dove cercare eseguibili, come Python. Questa nuova directory contiene V un eseguibile leggero che passa il comando a Pyenv.

È possibile utilizzare il seguente comando per visualizzare il tuo percorso $ corrente:

$ echo $ percorso

Dovresti vedere più directory separate dai due punti:

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

Per rendere l'output più bello, è possibile utilizzare una versione più sofisticata del comando sopra:

$ echo -e $ path //:/\\ n
/usr/locale/sbin
/usr/locale/cestino
/usr/sbin
/usr/cestino
/sbin
/bidone
/USR/Games
/USR/Local/Games

Quando si utilizza il comando Python per avviare un software, il sistema operativo passa attraverso le directory nella variabile $ Path da cima a fondo fino a quando non ne trova uno contenente l'eseguibile pertinente.

Per vedere rapidamente quale directory è, usa il comando WHOWIS:

$ dove è Python
/usr/bin/python

Il comando Python -v può dirti quale versione di Python è installata:

$ Python -v
Python 2.7.18

Per consentirti di utilizzare qualsiasi versione di Python che desideri senza scherzare con quello che è stato installato con il tuo sistema operativo, Pyenv manipola facilmente la variabile $ Path, permettendoti di modificare facilmente la versione globale di Python su base per utente. Inoltre, puoi anche utilizzare versioni specifiche di Python per singoli progetti o impostare una versione particolare di Python solo per la tua sessione di shell corrente.

Come installare pyenv?

Prima di installare Pyenv stesso, dovresti assicurarti che non ci siano dipendenze di sistema insoddisfacenti:

$ sudo apt-get aggiornamento; SUDO APT-OGET Installazione Make build-essenziale LibSSL-DEV zlib1g-dev lib

Una volta terminato, è possibile utilizzare il programma di installazione automatico per installare Pyenv sul sistema Linux:

$ curl https: // pyenv.Run | Bash

Quindi devi aggiungere le seguenti righe al tuo ~/.BASHRC o file di configurazione equivalente se si utilizza una shell diversa da Bash:

esportazione percorso = "$ home/.Pyenv/Bin: $ Path "
Valuta "$ (pyenv init -)"
Valuta "$ (pyenv virtualenv -init -)"

Non preoccuparti; L'installatore automatico ti dirà esattamente cosa devi aggiungere e dove. Infine, puoi riavviare la shell (chiudere il terminale) e verificare che Pyenv sia stato installato correttamente visualizzando la sua versione corrente:

$ Pyenv --Version
Pyenv 2.2.4

Come cambiare la versione Python usando Pyenv?

Per cambiare la versione Python usando Pyenv, è necessario prima installare almeno una versione di Python usando il comando di installazione Pyenv. Basta digitare la versione desiderata dopo il comando:

$ Pyenv Installa 3.10.2

Per visualizzare un elenco di tutte le versioni disponibili, fai quanto segue:

$ pyenv install -elenco

Ci sono molte versioni diverse tra cui scegliere, quindi non le copereremo e incollarle qui per risparmiare la tua ruota a scorrimento lo sforzo che ci vorrebbe per attraversarle tutte.

Dal momento che il comando Python Print Version (Python -v) abbiamo usato in precedenza in questo articolo ti direbbe solo qual è la versione di sistema Python, è necessario utilizzare il comando versioni Pyenv per vedere quali versioni sono ora disponibili per Pyenv:

versioni $ pyenv
* Sistema (impostato da/home/David/.pyenv/versione)
2.7.17
3.7.10
3.10.2

Come puoi vedere, Pyenv è ora a conoscenza di tre versioni di Python: la versione del sistema (2.7.18 nel nostro caso), 2.7.17, 3.7.10 e 3.10.2.

Ora, cambiare la versione Python sulla base globale, locale o shell è una questione di comando singolo:

$ Pyenv Global 2.7.17
$ Pyenv Local 3.7.10
$ Pyenv Shell 3.10.2

Nel nostro caso, abbiamo usato il comando globale per declassare Python versione 2.7.18 alla versione 2.7.17. Per verificare che abbiamo realizzato il risultato desiderato, possiamo usare due comandi familiari:

versioni $ pyenv
sistema
* 2.7.17 (impostato da/home/David/.pyenv/versione)
3.10.2
3.7.10
E
$ Python -v
Python 2.7.17

Ecco quanto è facile downgrade della versione Python usando Pyenv! Dopo un po ', potresti voler eliminare alcune versioni di Python che non hai più bisogno. Il seguente comando ti consente di fare proprio questo:

$ Pyenv Disinstalla

Puoi vedere comandi Pyenv più utili digitando l'aiuto Pyenv nel terminale. Ti consigliamo anche di leggere la documentazione ufficiale su GitHub per capire meglio come funziona Pyenv sotto il cofano.

Conclusione

Il cambio o il downgrade della versione Python è qualcosa di praticamente tutti gli sviluppatori e persino alcuni utenti di Linux avanzati devono fare ad un certo punto. Fortunatamente, strumenti come Pyenv rendono il compito senza sforzo, permettendoti di raggiungere l'obiettivo desiderato con alcuni semplici comandi.