Come posso aggiornare l'installazione di Python predefinita / correggere il mio $ PATH su Mac OS X 10.6.7?


8

So che questa domanda è stata posta in precedenza su questo sito e ho trovato un paio di discussioni degne, ma le soluzioni che ho trovato e provato non funzionano. Voglio imparare Python e non riesco a configurarlo correttamente sul mio Mac. Sto eseguendo OS X 10.6.7.

Ho scaricato il programma di installazione di Python 3.2 da python.org e l' ho installato, che è installato su /Library/Frameworks/Python.framework/Versions/3.2/bin. Per ora va bene come posso semplicemente usare IDLE per sviluppare. Per usare 3.2 dalla riga di comando usando pythonho provato a riordinare la mia $PATHvariabile. Ecco come ~/.profileappare:

PATH=/Library/Frameworks/Python.framework/Versions/3.2/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11/bin

Tuttavia, pythonlancia ancora 2.6.1:

steven-macbook:~ steven$ python --version
Python 2.6.1
steven-macbook:~ steven$ . ./.profile
steven-macbook:~ steven$ python --version
Python 2.6.1
steven-macbook:~ steven$ 

Dopo aver lottato per un po ', ho deciso di disinstallare semplicemente 3.2 e provare ad aggiornare l'installazione di sistema di Python. Non sono sicuro di come farlo correttamente, quindi ho bisogno di far funzionare 3.2 con la riga di comando o l'aggiornamento 2.6.1.

Risposte:


5

Ho appena risolto questo problema installando Python 3.2.2 sul mio Mac OS X Lion, quindi ho pensato di pubblicare come l'ho fatto nella speranza che qualcuno lo trovasse utile.

In primo luogo, sono d'accordo con shadesandcolour in quanto non dovresti modificare la copia predefinita di Python fornita con il tuo Mac perché potrebbero esserci degli script che potrebbero non funzionare correttamente quando eseguiti usando l'interprete Python 3.0+. Detto questo, per installare l'ultimo Python (3.2.2 al momento di questo post), devi prima scaricare il programma di installazione di Python dal sito ufficiale. Installa come di consueto. Esegui il file "Aggiorna Shell Profile.command" nella cartella / Applicazioni / Python (ver).

Dopo aver installato Python, è necessario modificare il percorso digitando "sudo nano / etc / percorsi" nella riga di comando. Successivamente, inserisci la password quando richiesto. Quindi basta "tagliare" la linea "/ usr / local / bin" e "incollare" PRIMA dell'occorrenza di "/ usr / bin". Salvare il file, chiudere eventuali terminali aperti ed eseguire una nuova istanza di terminale. Ora quando si digita "python" dalla riga di comando, la shell cercherà prima in / usr / local / bin ed eseguirà l'ultima copia di python.


+1 da quando ho cercato di capirlo tutto il giorno. In effetti, su Snow Leopard, se l'impostazione del PERCORSO nella configurazione della shell non funziona, la modifica /etc/pathcome hai suggerito funziona perfettamente. Per me, il problema era ottenere emacs grafici e terminali per riconoscere che volevo usare un'installazione personalizzata di Python. Grazie per il consiglio!
jrhorn424,

questo ha funzionato se io anche cd /usr/local/bine cp python3.7 pythone riavviato mio terminale.
openwonk,

1

Dalla mia esperienza, l'uso di symlink insieme a un PATH correttamente ordinato è il modo di far coesistere più versioni di Python in OS X o qualsiasi altro nix a cui riesco a pensare. OS X è solo un po 'sciocco, ma funziona allo stesso modo.

Per prima cosa ottieni il quadro completo eseguendo i seguenti comandi:

which python

Poi:

ls -la /usr/bin/python*

e confronta con:

ls -la /usr/local/bin/python*

Guarda dove puntano i link simbolici.

Sulla base del PERCORSO che hai pubblicato, poiché / usr / bin viene dopo / usr / local / bin e gli altri probabilmente stai usando l'interprete System Python:

/usr/bin/python

Se hai installato python3.0 probabilmente verrà eseguito come:

/usr/local/bin/python

Ora che sai cosa sta indicando dove e quale interprete viene caricato dal PERCORSO, puoi apportare le modifiche appropriate al PERCORSO e / o ai collegamenti simbolici. È quindi possibile utilizzare le stesse tecniche per confermare le modifiche appropriate.

Per ulteriori informazioni sull'installazione di Python su macOS, vedere tuffarsi in python3 e farmdev .


/usr/local/bin/pythonnon esiste ma /usr/local/bin/python3esiste. python3 --versiondà la mia installazione (3.2). Posso semplicemente rinominare quel link simbolico in pythonmodo da non dover digitare il 3?
Steven Zezulak,

Se il tuo PERCORSO è ordinato correttamente (/ usr / local / bin viene dopo / usr / bin), puoi semplicemente creare un link simbolico che lo faccia.
Somantra,

1
Ma se / usr / bin viene dopo / usr / local / bin, continuerà a caricare il sistema python (/ usr / bin / python).
Somantra,

0

Forse se installi Python tramite MacPorts, aggiornerà la versione del sistema. In realtà sospetto di no, dato che mi sembra rischioso. Ma potresti voler controllare cosa fa MacPorts quando installi Python con esso.


0

Ho già posto questa domanda a qualcuno e mi è stato consigliato di non modificare la versione predefinita di Python perché parti del funzionamento potrebbero dipendere dalla versione 2.7 in cui si trova. Detto questo, non è molto più lavoro mettere il comando python3 nel tuo percorso. Questo è quello che sto facendo in questo momento e sembra che vada bene.


0

Se hai utilizzato il programma di installazione, il tuo python è in / usr / local / bin / python3. I percorsi dovrebbero anche essere aggiornati automaticamente per diventare disponibili come python3nel tuo terminale. Vecchio pythonè ancora disponibile e può essere utilizzato da altri sistemi.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.