2010-10-10 17 views
17

Próbuję zainstalować MySQLdb dla Pythona 2.6 według tej instrukcji:zainstalowaniu MySQLdb dla Pythona 2.6 na OSX

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

Kiedy dostać się do tego kroku: $ python setup.py build pojawia się błąd:

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 

Mam zainstalowany MySQL i dodano do mojego bash

Co robię źle?

Odpowiedz

9

Nie szuka "mysql", szuka "mysql_config". Spróbuj uruchomić "which mysql_config" z bash. Prawdopodobnie nie zostanie znaleziony. Dlatego kompilacja też jej nie znajduje. Spróbuj uruchomić "zlokalizuj mysql_config" i zobacz, czy coś wróci. Ścieżka do tego pliku binarnego musi znajdować się w zmiennej środowiskowej $ PATH powłoki, lub musi być jawnie w pliku setup.py dla modułu zakładającego, że szuka w określonym miejscu dla tego pliku.

Jeśli zainstalowany mysql ze źródła w/usr/local, uważam, że plik będzie można znaleźć w katalogu/usr/local/mysql/bin/mysql_config

+0

Dzięki, z jakiegoś powodu mój link sym początkowo nie działał. – ian

4

sprawdzić site.cfg w folderze MySQLdb. Powinien być u podstaw.
Edycja site.cfg do właściwej ścieżce "mysql_config"
znalazłem w kopalni "/ usr/local/mysql/bin /"

Gdy to zrobisz powinieneś być w stanie uruchomić build & zainstalować bez problemy.
Pamiętaj powinno być korzeń lub uruchamiać wszystkie polecenia jak „sudo”

14

Podczas PlanetUnknown jest na dobrej drodze z jego/jej odpowiedź, mam nadzieję, że to bardziej wyraźny zestaw kroki okażą się przydatne:

Problem ma związek z MySQLdb nie wiedząc, gdzie szukać pliku mysql_config.

Znajdźmy więc dla MySQLdb, a następnie umieśćmy lokalizację w pliku site.cfg, aby mógł go od teraz znaleźć.

PO jest na komputerze Mac, więc otworzyć terminal i znaleźć plik site.cfg:

sudo find/-name 'site.cfg' 

odczekaj kilka sekund i należy go wypluć bezwzględną ścieżkę, będziemy vi że plik w sekundę . Ale najpierw znaleźć plik mysql_config:

sudo find/-name 'mysql_config' 

Przed edycją pliku site.cfg, upewnij się, że położenie mysql_config na schowka.

Po otwarciu w edytorze site.cfg znajdź wiersz określający ścieżkę dla mysql_config. Wskazuje na złą drogę lub po prostu skomentował wszystkie razem. Tak czy inaczej, wklej poprawną ścieżkę ze schowka zamiast istniejącej ścieżki.

powinien teraz mieć linię w tym pliku, który brzmi mniej więcej tak:

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

zapisać plik.

Teraz powinien być gotowy do uruchomienia, więc spróbuj jeszcze raz.

+0

Dziękujemy! Opisałeś i naprawiłeś mój problem doskonale. –

+1

Nie ma problemu, faktycznie znalazłem kilka typowych błędów podczas konfigurowania Django, o których tutaj szczegółowo mówię - http://joshbranchaud.com/2013/02/10/Errors-While-Setting-Up-Django.html – jbranchaud

+0

od post powyżej musisz uruchomić to, jeśli nadal nie działa '$ sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib/usr/lib/libmysqlclient.18.dylib' –

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

powinien rozwiązać problem, ponieważ system nie może znaleźć pliku mysql_config.

+0

Mam zainstalowany MySQL na OSX bez MySQLStartupItem.pkg i myślę, że z tego powodu mysql_config nie jest na $ PATH, więc to było jedyne rozwiązanie dla mnie .. . –

+0

To jest rozwiązanie! – Rafay

Powiązane problemy