Digito python
una finestra del terminale. Ottengo Python 2.7 e non Python 3.5. Secondo i documenti, Python 3.5 dovrebbe essere precaricato.
Digito python
una finestra del terminale. Ottengo Python 2.7 e non Python 3.5. Secondo i documenti, Python 3.5 dovrebbe essere precaricato.
Risposte:
Non so quali "documenti" stai leggendo né cosa dicono, ma /usr/bin/python
è solo un collegamento simbolico alla versione predefinita di Python, in questo caso 2.7, che è il risultato della semplice digitazione python
sul terminale. Questo è il risultato di PEP 394 che lo definisce
- per il momento, tutte le distribuzioni dovrebbero garantire che si
python
riferisca allo stesso obiettivo dipython2
.
type python
e file /usr/bin/python
lo confermerò.
La ragione di questa disposizione diversa dalla convenzione è che il pacchetto sorgente python-default in Xenial è la versione 2.7.11 , quindi il collegamento simbolico python punta a questa versione.
Per usare python 3 devi essere esplicito e digitare python3
nella riga di comando, che è raccomandato nel caso in cui tu abbia bisogno di una versione specifica, questo può essere fatto anche con python 2, digitando python2
. Ubuntu include entrambe le versioni 2 e 3 di Python per impostazione predefinita su tutte le versioni correnti.
Ci sono piani per migrare tutto su Python 3 e contrassegnarlo come predefinito.
Per ottenere il REPL di Python 3.5 o eseguire uno script compatibile, digitare python3
. Questo per mantenere la compatibilità con tutto il precedente Python 2.x (che è sempre stato e rimarrà collegato python
).
Il trattino potrebbe trovare python
se si imposta un .desktop
file per esso (in ~/.local/share/applications/
), per aprire un terminale e avviare ad esempio il REPL. Non esiste un ambiente REPL GUI predefinito per Python e le normali aspettative sull'interfaccia sono che l'utente andrebbe al terminale.
Il discorso di python 3.5 di default è che i manutentori eseguono il porting di tutti gli script di sistema da python 2.x a python 3.x, non che python 3 sostituisca python 2 in tutti i casi.
#!/usr/bin/python3
(o #!/usr/bin/python2
) negli script, meglio usare (solo per Python, in particolare) #!/usr/bin/env python3
se si desidera che sia portatile in remoto. Per la maggior parte, questa è solo una documentazione, poiché in molti casi verrà chiamata usando $ python3 your_pyprogram.py
comunque.
Supponi che Python predefinito dovrebbe essere disponibile come python
. Questa ipotesi è sbagliata.
Su un sistema fornito con Python 3 "precaricato" e senza Python 2, ci sarà solo python3
e no python
.
Il codice scritto per Python 3 dovrebbe sempre cercare un interprete chiamato python3
. Il codice scritto per Python 2 cercherà storicamente python
.
Potrebbe arrivare un momento, forse tra decenni, in cui quasi nessuno ricorda Python 2, quando python
potrebbe iniziare a fare riferimento python3
. Questo sarebbe puramente per comodità, e può e non dovrebbe essere fatto prematuro, se non del tutto! Non c'è fretta, a causa del seguente impatto:
I "vecchi sistemi attuali" non ne hanno conoscenza python2
, solo python
, quindi ha perfettamente senso cercare il codice Python 2 python
. Questo è il motivo per cui python
dovrebbe fare riferimento a Python 2 per "finché esiste il codice Python 2".
Il nuovo codice scritto per Python 2, se questo ha senso, può cercare perfettamente python
. Potrebbe anche cercare python2
, se è destinato a funzionare solo su sistemi Python 3 consapevoli e ben curati (che dovrebbero offrire tale collegamento).
Il vantaggio dell'utilizzo del codice Python 2 python2
sarebbe che non ha bisogno di ulteriori tocchi una volta che python
inizia a fare riferimento python3
, cosa che potrebbe non accadere mai, o che una volta python
scompare del tutto, cosa che potrebbe o non potrebbe accadere. (Ciò potrebbe avverarsi, se il codice Python 2 si estinguesse dopo che l'ipotetico Python 4 diventa popolare con il suo interprete python4
. - Perché lasciarlo puntare a uno python3
o python4
entrambi sarebbe confuso.)
Sono disponibili entrambe le versioni 2.x, 3.x di Python. se chiami python come è puntato su python 2.x caricherà python 2.x
L'immagine qui sotto ti aiuterà.
python
proviene dall'uso <tab>
di query per il completamento automatico, che quindi emette le possibili permutazioni python*
e restituisce un nuovo prompt.
apt-cache
, soprattutto per i principianti di Ubuntu.
Python 3.x dovrebbe funzionare con 16.04 - In realtà, sicuramente funzionerà. Ho Ubuntu 14.04 e ho Python 3.4.3 - Tutto quello che devi fare per testarlo è digitare python3
e dovrebbe dirti quale versione stai utilizzando.