View Full Version : Python non si avvia piu' da terminale
santaclause83
01-03-2011, 17:00
Salve, recentemente mi sono trovato a dover installare la versione di Python 2.7, compatibile con la libreria matplotlib, compatibile dal 2.7
Ho installato tutto con la classica procedura guidata macosx
Sul terminale ho selezionato il 2.7 come piattaforma python di default
Vado per lanciare python, e a schermo si stampa questa simpatica scritta:
dyld: unknown required load command 0x80000022
Trace/BPT trap
Vado per risettare python 2.5.1, che era il mio default precedente, lo rilancio, e la situazione si dimostra irreparabile, ancora questo lapidario messaggio.
Fate sapere se avete idee su come poter smanettare a questi livelli, anche solo per farmi recuparere un python qualsiasi :muro:
Grazie
mad_hhatter
01-03-2011, 17:19
puoi postare l'output dei comandi seguenti?
which python
which python2.5
echo $PATH
per caso durante l'installazione di python hai spuntato l'opzione "fix system python"?
che versione di mac os x hai?
santaclause83
01-03-2011, 18:09
which python restituisce:
/Library/Frameworks/Python.framework/Versions/2.7/bin/python
which python2.5:
/usr/bin/python2.5
echo $PATH:
/Library/Frameworks/Python.framework/Versions/2.7/bin:/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
per caso durante l'installazione di python hai spuntato l'opzione "fix system python"?
no, mi sono limitato a premere Accetta, e Continua, e poi ha fatto tutto lui
Versione MACOSX: 10.5.8
mad_hhatter
01-03-2011, 18:48
which python restituisce:
/Library/Frameworks/Python.framework/Versions/2.7/bin/python
which python2.5:
/usr/bin/python2.5
echo $PATH:
/Library/Frameworks/Python.framework/Versions/2.7/bin:/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
per caso durante l'installazione di python hai spuntato l'opzione "fix system python"?
no, mi sono limitato a premere Accetta, e Continua, e poi ha fatto tutto lui
Versione MACOSX: 10.5.8
mi sa che quell'opzione è attivata di default :(
in sostanza, il tuo python di sistema è ancora impostato sul 2.7
come hai cambiato il python di default?
ti consiglierei di eliminare /Library/Frameworks/Python.framework/Versions/2.7/bin dal PATH e di creare un link simbolico "python2.7" in /usr/local/bin, che punti a /Library/Frameworks/Python.framework/Versions/2.7/bin/python
santaclause83
01-03-2011, 19:45
Per cambiare la versione di default ho scritto questo:
defaults write com.apple.versioner.python Version 2.7
Ok per l'eliminazione del link dal PATH e per il link simbolico
Mi sapresti dire dove si trova esattamente PATH?
in usr/local/bin dove lo creo il link simbolico? immagino ci sia un file apposito dove inserire il nuovo path ma non saprei quale
Grazie
mad_hhatter
02-03-2011, 12:20
Per cambiare la versione di default ho scritto questo:
defaults write com.apple.versioner.python Version 2.7
Ok per l'eliminazione del link dal PATH e per il link simbolico
Mi sapresti dire dove si trova esattamente PATH?
in usr/local/bin dove lo creo il link simbolico? immagino ci sia un file apposito dove inserire il nuovo path ma non saprei quale
Grazie
per il path: hai un file .profile o .bash_profile nella tua home? prova a vedere se è scritto lì dentro
il link simbolico lo crei direttamente in /usr/local/bin
purtroppo non sono abbastanza esperto con mac os x da dirti come resettare un default :( mi spiace. Però potresti vedere che versione ha il framework python originale nel System Profiler (io ho installato un python 2.4 da python.org ma il System profiler lo mostra come 2.2)
santaclause83
02-03-2011, 13:30
.profile mi dice:
export PATH=/opt/local/bin:/opt/local/sbin:$PATH
# Setting PATH for Python 2.7
# The orginal version is saved in .profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
export PATH
se apro .profile.pysave trovo:
export PATH=/opt/local/bin:/opt/local/sbin:$PATH
Dovrei cancellare entrambi?
Riguardo il System Profiler, mi dice che ha installato il framework per 2.5 e per 2.7
La loro posizione e' in: /Library/Frameworks/Python.framework
mad_hhatter
03-03-2011, 00:59
edita .profile in questo modo:
export PATH=/opt/local/bin:/opt/local/sbin:$PATH
# Setting PATH for Python 2.7
# The orginal version is saved in .profile.pysave
#PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
#export PATH
poi riavvia il terminale e vediamo che dice ora il comando "which python"
santaclause83
03-03-2011, 10:35
Grande! ho recuperato il 2.5!
Un ultimissima cosa, sapresti da qui suggerirmi come impostare il 2.7?
Grazie ancora
mad_hhatter
03-03-2011, 12:53
l'approccio che seguo io è questo:
installo una distribuzione python personalizzando le opzioni di installazione in modo da non installare le GUI application (IDLE, ecc), da NON fixare il python di systema e da NON installare i tool a riga di comando in /usr/local/bin.
In questo modo l'installer crea una nuova cartella in /Library/Frameworks/Python.frameworks.Versions E BASTA
dopo di che a manina creo un link simbolico "pythonX.Y" (io di solito li chiamo "devpyX.Y": evito esplicitamente di usare il nome "python" in modo da non creare conflitti qualora apple decidesse di aggiungere altri python di sistema)
infine di solito lavoro con virtualenv per lasciare le distribuzioni python così come sono uscite dalla "fabbrica" (ma non è detto che a te serva questo livello di isolamento)
santaclause83
08-03-2011, 10:57
Il link simbolico lo crei in usr/loc/bin?
dentro ci scrivi un path in particolare?
mad_hhatter
08-03-2011, 11:49
Il link simbolico lo crei in usr/loc/bin?
dentro ci scrivi un path in particolare?
non sono sicuro di aver capito la domanda...
il comando sarebbe il seguente:
ln -s /Library/Frameworks/Python.framework/Versions/2.7/bin/python /usr/local/bin/my_python2.7
dove al posto di "my_python2.7" inserirai il nome che preferisci
vBulletin® v3.6.4, Copyright ©2000-2026, Jelsoft Enterprises Ltd.