GNU/Linux >> Linux Esercitazione >  >> Linux

Due versioni di Python su Linux. come rendere 2.7 il valore predefinito

Aggiungi /usr/local/bin al tuo PATH variabile d'ambiente, prima nell'elenco di /usr/bin .

Generalmente questo viene fatto nel file rc della tua shell, ad es. per bash, lo inseriresti in .bashrc :

export PATH="/usr/local/bin:$PATH"

Questo farà sì che la tua shell cerchi prima un python in /usr/local/bin , prima che vada con quello in /usr/bin .

(Naturalmente, questo significa che devi avere anche /usr/local/bin/python punta a python2.7 - se non lo è già, dovrai collegarlo simbolicamente.)


Inserisci il comando

which python

//output:
/usr/bin/python

cd /usr/bin
ls -l

Qui puoi vedere qualcosa di simile

lrwxrwxrwx 1 root   root            9 Mar  7 17:04  python -> python2.7

il tuo python2.7 predefinito è collegato in modo soft al testo 'python'

Quindi rimuovi il softlink python

sudo rm -r python

quindi riprova il comando precedente

ls -l

puoi vedere che il softlink è stato rimosso

-rwxr-xr-x 1 root   root      3670448 Nov 12 20:01  python2.7

Quindi crea un nuovo softlink per python3.6

ln -s /usr/bin/python3.6 python

Quindi prova il comando python nel terminale

//output:
Python 3.6.7 (default, Oct 22 2018, 11:32:17) 
[GCC 8.2.0] on linux

Digita help , copyright , credits o license per ulteriori informazioni.


Probabilmente non vuoi davvero cambiare il tuo Python predefinito.

La tua distribuzione ha installato un Python di sistema standard in /usr/bin , e potrebbe avere script che dipendono dalla sua presenza e selezionati da #! /usr/bin/env python . Puoi di solito farla franca con l'esecuzione di script Python 2.6 in 2.7, ma vuoi rischiare?

Per di più, scimmiottando con /usr/bin può compromettere la capacità del tuo gestore di pacchetti di gestire i pacchetti. E cambiando l'ordine delle directory nel tuo PATH influenzerà molte altre cose oltre a Python. (In effetti, è più comune avere /usr/local/bin davanti a /usr/bin , e potrebbe essere quello che vuoi davvero, ma se hai il contrario, presumibilmente c'è una buona ragione per questo.)

Ma non hai bisogno per cambiare il tuo Python predefinito in modo che il sistema esegua la versione 2.7 quando digiti python .

Innanzitutto, puoi impostare un alias della shell:

alias python=/usr/local/bin/python2.7

Digitalo al prompt o inseriscilo nel tuo ~/.bashrc se vuoi che la modifica sia persistente, e ora quando tu digitare python esegue il 2.7 scelto, ma quando qualche programma sul tuo sistema tenta di eseguire uno script con /usr/bin/env python esegue lo standard 2.6.

In alternativa, crea un ambiente virtuale dalla tua 2.7 (o venv separati per progetti diversi) e svolgi il tuo lavoro all'interno della venv.


Linux
  1. Come gestire più versioni di Python con Pyenv su Linux

  2. Come installare Python su Linux Mint 20

  3. Come trovare l'IP del gateway predefinito in Linux

  4. Come modificare la shell predefinita in Linux

  5. Come modificare la shell predefinita in Linux

Come usare e sfruttare al meglio il comando fusore in Linux

Come rendere eseguibile un file in Linux

Come modificare la shell utente predefinita nel sistema operativo Linux

Come modificare la shell predefinita nel sistema Linux

Come posso vedere il documento Python su Linux?

Come rendere il mio modulo Python disponibile a livello di sistema su Linux?