652 Stimmen

mysql_config wird bei der Installation der Python-Schnittstelle von mysqldb nicht gefunden

Ich versuche, ein Python-Skript auf dem Linux-Server laufen zu lassen, mit dem ich über ssh verbunden bin. Das Skript verwendet mysqldb. Ich habe alle anderen Komponenten, die ich brauche, aber wenn ich versuche, mySQLdb über setuptools wie folgt zu installieren:,

python setup.py install

Ich erhalte den folgenden Fehlerbericht im Zusammenhang mit dem mysql_config Befehl.

sh: mysql_config: command not found
Traceback (most recent call last):
  File "setup.py", line 15, in <module>
    metadata, options = get_config()
  File "/usr/lib/python2.5/MySQL-python-1.2.3/setup_posix.py", line 43, in get_config
    libs = mysql_config("libs_r")
  File "/usr/lib/python2.5/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

Ist sonst noch jemand auf diesen Fehler gestoßen und wenn ja, wie haben Sie ihn behoben/was kann ich tun, um mysqldb erfolgreich zu installieren?

935voto

amarillion Punkte 23299

MySQLdb ist eine Python-Schnittstelle für mysql, aber es ist nicht mysql selbst. Und anscheinend braucht mySQLdb den Befehl 'mysql_config', also müssen Sie diesen zuerst installieren.

Können Sie bestätigen, dass Sie mysql selbst installiert haben oder nicht, indem Sie "mysql" in der Shell ausführen? Dann sollten Sie eine andere Antwort als "mysql: Befehl nicht gefunden" erhalten.

Welche Linux-Distribution verwenden Sie? Mysql ist für die meisten Linux-Distributionen vorinstalliert. Für Debian / Ubuntu ist die Installation von mysql zum Beispiel so einfach wie

sudo apt-get install mysql-server

mysql-config ist in einem anderen Paket, das von (wieder, vorausgesetzt, Debian / Ubuntu) installiert werden kann:

sudo apt-get install libmysqlclient-dev

wenn Sie mariadb, den Ersatz für mysql, verwenden, dann führen Sie

sudo apt-get install libmariadbclient-dev

Referenz: https://github.com/JudgeGirl/Judge-sender/issues/4#issuecomment-186542797

231voto

xtornasol512 Punkte 2349

Ich installierte python-mysql auf Ubuntu 12.04 mit

pip install mysql-python

Zuerst hatte ich das gleiche Problem:

Not Found "mysql_config"

Das hat bei mir funktioniert

$ sudo apt-get install libmysqlclient-dev

Dann hatte ich dieses Problem:

...
_mysql.c:29:20: error fatal: Python.h: No existe el archivo o el directorio

compilación terminada.

error: command 'gcc' failed with exit status 1

Dann habe ich es mit

apt-get install python-dev

(Wenn Sie python3 verwenden, installieren Sie python3-dev stattdessen).

Und dann war ich glücklich :)

pip install mysql-python
    Installing collected packages: mysql-python
      Running setup.py install for mysql-python
        building '_mysql' extension
        gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -Dversion_info=(1,2,4,'beta',4) -D__version__=1.2.4b4 -I/usr/include/mysql -I/usr/include/python2.7 -c _mysql.c -o build/temp.linux-x86_64-2.7/_mysql.o -DBIG_JOINS=1 -fno-strict-aliasing -g
        In file included from _mysql.c:44:0:
        /usr/include/mysql/my_config.h:422:0: aviso: se redefinió "HAVE_WCSCOLL" [activado por defecto]
        /usr/include/python2.7/pyconfig.h:890:0: nota: esta es la ubicación de la definición previa
        gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro build/temp.linux-x86_64-2.7/_mysql.o -L/usr/lib/x86_64-linux-gnu -lmysqlclient_r -lpthread -lz -lm -lrt -ldl -o build/lib.linux-x86_64-2.7/_mysql.so

Successfully installed mysql-python
Cleaning up...

88voto

Pulkit Pahwa Punkte 1302

(Speziell für Mac OS X)

Ich habe viele Dinge ausprobiert, aber diese Befehle haben endlich funktioniert.

  1. Installieren Sie mysql

    brew install mysql
  2. brew unlink mysql

  3. brew install mysql-connector-c

  4. Fügen Sie den Ordner mysql bin zu PATH hinzu

    export PATH=/usr/local/Cellar/mysql/8.0.11/bin:$PATH
  5. mkdir /usr/local/Cellar/lib/

  6. Einen Symlink erstellen

    sudo ln -s /usr/local/Cellar/mysql/8.0.11/lib/libmysqlclient.21.dylib /usr/local/Cellar/lib/libmysqlclient.21.dylib
  7. brew reinstall openssl ( fuente )

  8. Zum Schluss installieren Sie mysql-client

    LIBRARY_PATH=$LIBRARY_PATH:/usr/local/opt/openssl/lib/ pip install mysqlclient

Aktualisierung: Für den Fall, dass dies nicht funktioniert, schlägt @vinyll vor, Folgendes auszuführen brew link mysql vor Schritt 8.

54voto

Elliott Punkte 1291

Unter Red Hat musste ich Folgendes tun

sudo yum install mysql-devel gcc gcc-devel python-devel
sudo easy_install mysql-python

Dann hat es geklappt.

46voto

Anil Koppula Punkte 708

Mit Python 3.5.2

sudo apt-get install libmysqlclient-dev python-dev

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X