2010-07-16 7 views
5

immagine La Python 2.7 installazione su disco per Mac OS X (python-2.7-macosx10.5.dmg) afferma:Perché gli strumenti da riga di comando di Python 2.7 non si trovano in `/ usr/local/bin` su Mac OS X?

Il programma di installazione mette le applicazioni in "Python 2.7" nella cartella Applicazioni, strumenti da riga di comando in// local/bin usr e il macchinario sottostante in /Library/Frameworks/Python.framework.

Tuttavia, dopo l'installazione non ci sono file Python 2.7 in /usr/local/bin/.

  • Gli altri vedono lo stesso comportamento?
  • Suppongo che la soluzione sia semplicemente quella di creare i collegamenti simbolici equivalenti a /usr/local/bin come Python 2.6 o sto trascurando qualcosa?
+0

Grazie per avermi motivante per l'installazione 2.7, provando ora. –

+0

Sì, sembra lo stesso qui. Nessun python 2.7 in/usr/local/bin. Ho ancora python2.Comunque, nel mio percorso, non so se è un problema. –

+0

Non: 'zsh: comando non trovato: python2.7' –

risposta

4

Il programma di installazione Python.org Python per OS X è un pacchetto meta con un insieme di diversi pacchetti. Puoi vedere i pacchetti facendo clic sul pulsante Customize durante il processo di installazione. I symlink in /usr/local/bin vengono installati dal pacchetto UNIX command-line tools. Per la versione 2.7, quel pacchetto non è più selezionato per impostazione predefinita. Puoi installarlo e i collegamenti simbolici eseguendo un'installazione personalizzata e selezionando quel pacchetto; se hai già installato 2.7, seleziona solo il pacchetto.

EDIT: Detto questo, è importante riconoscere che, con le build di framework OS X Python, avere solo /usr/local/bin nel percorso di ricerca non è generalmente sufficiente. Il motivo è che gli script python inclusi nei pacchetti sono, per impostazione predefinita, installati nella directory bin della directory Python, ad es. /Library/Frameworks/Python.framework/Versions/2.7/bin. Ciò vale per qualsiasi cosa che utilizza i valori predefiniti Distutils o gli strumenti di installazione che avvolgono Distutils, come easy_install (Distribute o setuptools) o pip. Questo è il motivo per cui esiste un altro pacchetto di installazione, Shell profile updater, che è abilitato per impostazione predefinita e tenta di modificare il profilo di accesso per posizionare la directory bin framework nella parte anteriore del percorso di ricerca della shell, PATH. In tal caso, i symlink in /usr/local/bin non sono richiesti per python2.7 da richiamare.

+1

Ho aperto un problema al riguardo: http://bugs.python.org/issue9275 –

+0

Ned - Senza i collegamenti simbolici, I stava ottenendo un errore durante il tentativo di creare un virtualenv usando Python 2.7 mentre Python 2.6.5 è impostato come mia installazione predefinita (cioè, ho PATH = "/ Libreria/Frameworks/Python.framework/Versions/2.6/bin: $ {PATH } " nel mio ~//bash_profile' per 2.6 non per 2.7). Ora che i collegamenti simbolici sono installati, sono in grado di 'mkvirtualenv -p python2.7 foo27' per creare un virtualenv usando Python 2.7. –

+1

Se si aggiunge 2.7/bin al percorso del PERCORSO che dovrebbe risolvere anche il problema. Se vuoi che il 'python' predefinito rimanga python.org 2.6, allora dovresti inserire 2.7/bin dopo 2.6 bin:' PATH = "/ Libreria/Framework/Python.framework/Versions/2.6/bin:/Library /Frameworks/Python.framework/Versions/2.7/bin:${PATH} " –

0
11:54 [email protected] find /usr -name python2.7 
11:54 [email protected]

Sì, che palle.

Seguirei lo schema eseguito dall'installer di Python 2.6 (e, nel mio caso, 2.5) e creare i collegamenti simbolici (come sospettate). Il modello è rimasto lo stesso, almeno:

11:57 [email protected] /Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7 
Python 2.7 (r27:82508, Jul 3 2010, 21:12:11) 
[GCC 4.0.1 (Apple Inc. build 5493)] on darwin 
Type "help", "copyright", "credits" or "license" for more information. 
>>> 

Potrebbe valere un bug report contro l'installazione.

2

Steven Majewski's comment affermando "credo che ho dovuto selezionare esplicitamente l'opzione ('installare strumenti a linea di comando') nel programma di installazione" mi ha fatto pensare che ho trascurato qualcosa nel programma di installazione. Abbastanza sicuro, ho trascurato l'opzione Customize. Vedi sotto.

Optional Customize Python Install http://img.skitch.com/20100716-ede8ausmtch9cb6g4mqp4hcm84.jpg

Select UNIX Command-Line Tools http://img.skitch.com/20100716-817rjbyikr8c4y88xkfj6qeg1p.jpg

+1

Come noto nella mia risposta e nei commenti, mentre non c'è niente di sbagliato nell'installare i collegamenti/usr/local/bin con gli strumenti della riga di comando di UNIX 'pacchetto (e sono d'accordo che dovrebbero essere ancora installati di default), così facendo non è sufficiente avere un'installazione 2.7 funzionante correttamente dopo aver provato ad installare pacchetti di terze parti. Di default, anche 'easy_install' finisce nella directory' 2.7/bin', non '/ usr/local/bin'. –

Problemi correlati