2012-08-06 6 views
9

Ho problemi a creare MySQLdb su Mac OSX Mountain Lion. Dopo l'aggiornamento a OSX Lion da OSX Lion, ho scaricato e installato anche Xcode 4.4. Poi, sono andato su Preferenze> Download di Xcode e installato gli strumenti della riga di comando.Errore GCC-4.2 su Mac OSX Mountain Lion, impossibile installare mysql-python

Ho scaricato MySQL-python ver. 1.2.3 da http://sourceforge.net/projects/mysql-python/

Quando eseguo

python setup.py build 

ricevo qui di seguito un messaggio:

running build 
running build_py 
copying MySQLdb/release.py -> build/lib.macosx-10.6-intel-2.7/MySQLdb 
running build_ext 
building '_mysql' extension 
gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -g -O2 -DNDEBUG -g -O3 -Dversion_info=(1,2,3,'final',0) -D__version__=1.2.3 -I/usr/local/mysql/include -I/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c _mysql.c -o build/temp.macosx-10.6-intel-2.7/_mysql.o -Os -g -fno-common -fno-strict-aliasing -arch x86_64 
unable to execute gcc-4.2: No such file or directory 
error: command 'gcc-4.2' failed with exit status 1 

Tuttavia, esiste il gcc. Quando eseguo

gcc 

ottengo

i686-apple-darwin11-llvm-gcc-4.2: no input files 

seguito è una domanda simile che ho trovato, ma la sua soluzione, che è esattamente quello che ho fatto già, non funziona per me.

How to install MySQLdb on Mountain Lion

risposta

36

Ho avuto un problema simile mentre lavoravo con Ruby On Rails 3.2.7. Anche io ho aggiornato il sistema a Mountain Lion, installato Xcode 4.4.1 e scaricato gli strumenti della riga di comando.

Sulla riga di comando ho ricevuto un messaggio di errore che diceva che era impossibile trovare il file: /usr/bin/gcc-4.2 (non riesco a incollare l'output preciso adesso, mi dispiace).

ho avuto una /usr/bin/gcc e la sua versione è stata i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1

ho risolto il problema con un collegamento simbolico il file nella stessa directory e dandogli il nome dello script di Ruby cercava:

sudo ln -s /usr/bin/gcc /usr/bin/gcc-4.2 

Dopo quello, tutto ha funzionato bene.

+0

Anche se non l'ho provato da solo, credo che questo dovrebbe funzionare per tutti i casi - dal momento che sta semplicemente dando quello che il codice sta cercando. – taelimoh

+0

Mi piacerebbe sapere, se qualcuno può spiegare, perché diavolo è questo il caso di Mountain Lion? –

+0

Penso che dipenda principalmente da come Xcode gestisce i suoi strumenti per sviluppatori da riga di comando, ad es. il modo in cui vengono eliminati quando aggiorni Xcode. È anche importante sapere come sono impacchettati nel pacchetto che scarichi con Xcode. – tompave

0

ho deviato questo problema utilizzando ActivePython.

Esistono istruzioni di installazione specifiche per MySQLdb here.

Poiché è la prima volta che utilizzo ActivePython, non sono sicuro che questa sia una soluzione efficace per questo problema. Pertanto, lascerò aperta questa domanda fino a quando non mi assicurerò che funzioni.

+0

ho avuto nessun problema con questo metodo per un mese due computer. – taelimoh

1

Mi sono imbattuto in questo. Per me è stato perché ho installato python da un programma di installazione DMG al http://python.org. Quelli sono costruiti contro il gcc sbagliato. Ho riparato compilando Python dai sorgenti usando Homebrew: http://mxcl.github.com/homebrew/

brew install python 

che collega contro il corretto gcc

(Nel mio caso specifico stavo usando un più vecchio di Python, che è il motivo per cui avevo utilizzato un programma di installazione DMG.Ho scoperto che homebrew ha anche formule per le vecchie versioni)

3

Utilizzare il seguente comando per fare make (o simile) utilizzare il corretto gcc:

export CC=/usr/bin/gcc