È necessaria una versione precedente di Python?

2

ML 10.8.4 e ho installato Python 2.6, 2.7 e 3.3. Continuo a leggere che è necessario mantenere la versione 2.6 in giro perché il sistema lo usa. Tuttavia, non ho trovato alcun software che ne abbia bisogno diverso da quello che ho installato (e posso controllare quale versione DEVE aver bisogno - ho adempiuto e installato SciPy per 3.3.2 per esempio). Quindi, usando Macport ho puntato il link Python all'installazione 3.3.2 per vedere se c'è qualcosa di nascosto che ho perso. Non ho avuto problemi.

Quindi mi chiedo se sia addirittura necessario mantenere le versioni precedenti. Sono consapevole che ciò limiterà alcune versioni degli script Python che installo.

Qualcuno sa cosa mi romperò definitivamente avendo il link python a 3.3.2 in una installazione di base di ML?

Inoltre, sospetto che la versione 2.6 sia una vecchia appendiabiti di Snow Leopard (migrazione macchina), come ipoteticamente, ML utilizza 2.7. Ma non posso confermarlo.

    
posta placeholder 31.08.2013 - 01:09
fonte

3 risposte

2

Anche se ci sono ovviamente differenze nelle diverse versioni di Python, ci sono anche differenze tra il "sistema" Python e quelli che si installano tramite Python.org, MacPorts, Homebrew, ecc. Tutte queste versioni "aggiuntive" possono coesistere abbastanza felicemente con le versioni di sistema in /System/Library/Frameworks/Python.framework/Versions - Ho 2.3, 2.5.6, 2.6.7 e 2.7.2 sul mio iMac 10.8.4 che originariamente era installato con Lion. /usr/bin/python è 2.7.2.

Fondamentalmente, non vi è alcun valido motivo per eliminare tutti i Python del sistema (occupano solo ~ 200 MB) e alcuni ottimi motivi per non ottenere liberarsene. Sono inclusi per una ragione, e ci sono varie utilità di sistema e programmi che dipendono da loro. Potresti ottenere un comportamento strano e inspiegabile se li rimuovi, e cose importanti potrebbero non funzionare, poiché gli script e le librerie Python sono dietro alcuni dei principali strumenti di sistema. Python è stato progettato per avere più versioni che vivono felicemente fianco a fianco, quindi se il tuo sistema è configurato correttamente (cosa che di solito mi fido degli ingegneri Apple), non ci saranno conflitti come ipotizzato da un'altra risposta .

Se vuoi modificare quale versione di Python viene eseguita per impostazione predefinita quando digiti python nel prompt Terminal, modifica la tua variabile di ambiente $PATH in modo che punti verso l'installazione scelta, non scollega o modifica /usr/bin/python . Ad esempio, utilizzo MacPorts, quindi /opt/local/bin è prima di /usr/bin nel mio $PATH , quindi non eseguo mai la versione 2.7.2 "sistema". Puoi quindi iniziare gli script con

#!/usr/bin/env python

e cercherà il tuo percorso per il binario corretto.

Non dovresti avere alcun problema usando MacPorts per scegliere la tua versione preferita. Una cosa che vorrei suggerire, però, è di mantenere /opt/local/bin/python che punta all'ultima versione di Python 2 (2.7.5, attualmente), e usare /opt/local/bin/python3 point per 3.3.2. Sì, devi ricordarti di aggiungere 3 alla fine del comando, ma diversi mesi fa ho provato a impostare python su Py3, e di tanto in tanto avrei avuto degli strani errori da alcuni programmi che si aspettavano che Py2 fosse lì.

Speriamo che questo aiuti a rispondere alla tua domanda, per favore fatemi sapere se avete bisogno di qualcos'altro.

    
risposta data 31.08.2013 - 19:54
fonte
1

Avere più versioni di Python in giro non è in realtà una cosa negativa, in particolare se certe applicazioni potrebbero avere dipendenze di versione. La preoccupazione principale sarebbe quella delle dipendenze e delle versioni - e indirettamente le autorizzazioni.

Se decidi di eliminare la versione precedente, tieni presente che ci sono alcuni elementi che dovrai riconfigurare per assicurarti che tutto funzioni correttamente come prima. Se sei più interessato a dover gestire più versioni di Python, ti consiglio virtualenv; è un ottimo strumento per creare ambienti Python isolati.

Pro per sbarazzarsi di Python 2.6:

• Apple listed Python 2.6 as security-fix-only (no more updates)
• Two versions of Python on the same machine can potentially have conflicts
• It's easier to maintain, while potentially freeing up disk space

Pro per avere due versioni di Python:

• Less worrying about certain applications not working because of broken dependencies
• The ability to have different versions of Python!
• Having a newer version allows you to use newer/cool packages

Se decidi di impegnarti a eliminare Python 2.6, daremo un'occhiata a questa guida eccellente e approfondita per l'aggiornamento: link

Se decidi di mantenere entrambe le versioni, dai un'occhiata a virtualenv .

La scelta spetta davvero a te.

    
risposta data 31.08.2013 - 06:43
fonte
-1

ho un sacco di sw "che richiede di dire python 2.6 su mac os x 10.8.4". se lo stesso sw sia o meno sul tuo computer non lo saprei.?

su un sistema di azioni se si elimina 2.6 l'unico modo in cui "non si interromperà" è se lo si disinstalla correttamente e quindi si installa l'altro correttamente . logica abbastanza semplice da comprendere.

    
risposta data 31.08.2013 - 08:45
fonte

Leggi altre domande sui tag