2010-10-10 19 views
17

Sto cercando di installare MySQLdb per Python 2.6 come da queste istruzioni:installazione MySQLdb per Python 2.6 su OSX

http://www.tutorialspoint.com/python/python_database_access.htm

Quando arrivo a questo passo: $ python setup.py build ottengo l'errore:

users-MacBook-Pro:MySQL-python-1.2.3 user$ sudo python setup.py build 
sh: mysql_config: command not found 
Traceback (most recent call last): 
    File "setup.py", line 15, in 
    metadata, options = get_config() 
    File "/my_crawler/MySQL-python-1.2.3/setup_posix.py", line 43, in get_config 
    libs = mysql_config("libs_r") 
    File "/my_crawler/MySQL-python-1.2.3/setup_posix.py", line 24, in mysql_config 
    raise EnvironmentError("%s not found" % (mysql_config.path,)) 
EnvironmentError: mysql_config not found 

ho MySQL installato e ha aggiunto alla mia bash

che cosa sto facendo di sbagliato?

risposta

9

Non sta cercando "mysql", sta cercando "mysql_config". Prova a eseguire "which mysql_config" da bash. Probabilmente non verrà trovato. Ecco perché la build non lo trova neanche. Prova a eseguire 'locate mysql_config' e controlla se qualcosa ritorna. Il percorso di questo binario deve essere nella variabile di ambiente $ PATH della shell, oppure deve essere esplicitamente nel file setup.py per il modulo assumendo che stia cercando in qualche posto specifico per quel file.

Se hai installato MySQL dal sorgente in/usr/local, credo che il file si troverà in/usr/local/mysql/bin/mysql_config

+0

Grazie, per qualche motivo il mio collegamento simbolico non funzionava in origine. – ian

4

controllo del site.cfg nella cartella MySQLdb. Dovrebbe essere alla radice.
Modificare il site.cfg al percorso corretto di "mysql_config"
ho trovato il mio in "/ usr/local/mysql/bin /"

Una volta fatto si dovrebbe essere in grado di eseguire la compilazione & installare senza alcun problemi.
Ricordate si dovrebbe essere root o eseguire tutti i comandi come "sudo"

14

Mentre PlanetUnknown è sulla strada giusta con il suo/la sua risposta, spero che questo insieme più esplicito di passi si rivelerà utile:

Il problema ha a che fare con MySQLdb non sapendo dove cercare il file mysql_config.

Quindi, trovarlo per MySQLdb e quindi inserire la posizione nel suo file site.cfg in modo che possa trovarlo da ora in poi.

L'OP è su un Mac, in modo da aprire il terminale e trovare il file site.cfg:

sudo find/-name 'site.cfg' 

Attendere qualche secondo e dovrebbe sputare il percorso assoluto, ci sarà vi quel file in un secondo . Ma in primo luogo, trovare il file del mysql_config:

sudo find/-name 'mysql_config' 

Prima di modificare il file site.cfg, assicuratevi di avere la posizione del mysql_config sulla vostra clipboard.

Dopo aver aperto site.cfg in un editor, individuare la riga che specifica il percorso per mysql_config. Indica il percorso sbagliato o commenta tutti insieme. In entrambi i casi, incolla il percorso corretto dagli Appunti al posto del percorso esistente.

Ora si dovrebbe avere una linea in quel file che dice qualcosa del tipo:

mysql_config = /usr/local/path/to/mysql_config 

Salvare il file.

Dovrebbe essere pronto per l'esecuzione ora, quindi provalo di nuovo.

+0

Grazie! Hai descritto e risolto il mio problema perfettamente. –

+1

Nessun problema, ho effettivamente trovato alcuni errori comuni durante l'impostazione di Django che discuto in dettaglio qui - http://joshbranchaud.com/2013/02/10/Errors-While-Setting-Up-Django.html – jbranchaud

+0

dal post sopra devi eseguire questo se ancora non funziona '$ sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib/usr/lib/libmysqlclient.18.dylib' –

15
export PATH=$PATH:/usr/local/mysql/bin/ 

dovrebbe risolvere il problema per voi in quanto il sistema non è in grado di trovare il file mysql_config.

+0

Ho installato MySQL su OSX senza MySQLStartupItem.pkg e penso che mysql_config non sia sul $ PATH, quindi questa era l'unica soluzione per me .. –

+0

Questa è la soluzione! – Rafay