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?

20voto

Das Paket libmysqlclient-dev ist veraltet, verwenden Sie daher den folgenden Befehl, um es zu reparieren.

Das Paket libmysqlclient-dev ist nicht verfügbar, wird aber von einem anderen Paket referenziert. Dies kann bedeuten, dass das Paket fehlt, veraltet ist, oder nur aus einer anderen Quelle verfügbar ist

sudo apt-get install default-libmysqlclient-dev

18voto

xfdywy Punkte 171

Ich denke, der bequemste Weg, dieses Problem im Jahr 2020 zu lösen, ist die Verwendung eines anderen Python-Pakets. Wir brauchen keine weitere Binärsoftware zu installieren.

Versuchen Sie dies

pip install mysql-connector-python

und dann

import mysql.connector

mydb = mysql.connector.connect(
          host="",
          user="",
          passwd="",
          database=""
          )      
cursor = mydb.cursor( buffered=True)
cursor.execute('show tables;')
cursor.execute('insert into test values (null, "a",10)')
mydb.commit()
mydb.disconnect()

15voto

luthfianto Punkte 1697

Wenn Sie mit macOS arbeiten und mysql@5.7 bereits über brew install installiert haben:

  1. brew install mysql-connector-c
  2. brew unlink mysql@5.7
  3. brew link --overwrite --dry-run mysql@5.7 zuerst, um zu sehen, welche Symlinks überschrieben werden
  4. brew link --overwrite --force mysql@5.7 um mysql-bezogene Symlinks tatsächlich mit mysql@5.7 zu überschreiben
  5. pip install mysqlclient

12voto

Rajiv Sharma Punkte 5964

In centos 7 funktioniert das bei mir:

yum install mariadb-devel
pip install mysqlclient

12voto

thoslin Punkte 6259

Ich habe das Problem durch die Installation von libmysqlclient behoben:

sudo apt-get install libmysqlclient16-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