Ich versuche, ein Python-Skript auf dem Linux-Server auszuführen, 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 zum 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 jemand auf diesen Fehler gestoßen und wenn ja, wie haben Sie ihn behoben / was kann ich tun, um mysqldb erfolgreich zu installieren?
python
linux
ssh
mysql-python
user904542
quelle
quelle
/usr/bin
ist falsch, es ist Thisusr/local/my...
Antwort zu sehen.Antworten:
mySQLdb ist eine Python-Schnittstelle für MySQL, aber es ist nicht MySQL selbst. Und anscheinend benötigt 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" über die Shell ausführen? Das sollte Ihnen eine andere Antwort als "mysql: Befehl nicht gefunden" geben.
Welche Linux-Distribution verwenden Sie? MySQL ist für die meisten Linux-Distributionen vorgepackt. Für Debian / Ubuntu ist die Installation von MySQL beispielsweise so einfach wie
mysql-config befindet sich in einem anderen Paket, das installiert werden kann (wiederum unter der Annahme von debian / ubuntu):
Wenn Sie Mariadb verwenden, den Drop-in-Ersatz für MySQL, dann führen Sie
Referenz: https://github.com/JudgeGirl/Judge-sender/issues/4#issuecomment-186542797
quelle
sudo apt-get install mysql-server
undsudo apt-get install mysql-client
Ich habe unter
python-mysql
Ubuntu 12.04 mit installiertZuerst hatte ich das gleiche Problem:
Das hat bei mir funktioniert
Dann hatte ich dieses Problem:
Dann habe ich es mit versucht
Und dann war ich glücklich :)
quelle
(Speziell für Mac OS X)
Ich habe viele Dinge ausprobiert, aber diese Befehle haben endlich für mich funktioniert.
mysql
brew unlink mysql
brew install mysql-connector-c
mkdir /usr/local/Cellar/lib/
brew reinstall openssl
( Quelle )Update: Falls dies nicht funktioniert, schlägt @vinyll vor,
brew link mysql
vor Schritt 8 auszuführen .quelle
brew info mysql
den tatsächlichen / korrekten Pfad zur MySQL-Installation. Um diePATH
Änderungexport PATH..
beizubehalten , führen Sie das in Ihrem ~ / .bash_profile aus.brew link --overwrite mysql-connector-c
Arbeiten auf meinem Macbrew link mysql
vor Schritt 8 einen Schritt machen, um es zum Laufen zu bringen.Auf Red Hat musste ich machen
Dann hat es funktioniert.
quelle
yum install MySQL-python
MySQL-python
als Python-Paket installieren müssen oder virtualenv verwenden, kann dies hilfreich sein :yum install mysql-devel; venv/bin/pip install MySQL-python
.sudo yum install mariadb-devel
zuerst aus, dann können Sie mysqlclient vonpip install mysqlclient
yum install mysql-devel
Centos 8Das Folgende funktionierte für mich unter Ubuntu 12.04 LTS:
Obwohl es funktioniert hat, habe ich trotzdem Folgendes getan:
quelle
Ich habe den gleichen Fehler beim Versuch, zu installieren
mysql-python
.So habe ich es behoben.
Das Problem war, dass das Installationsprogramm die Datei mysql_config im Standardpfad nicht finden konnte. Jetzt kann es ..und es hat funktioniert ..
Hoffe das hilft.
Vielen Dank.
quelle
Ich habe dieses Problem mit den folgenden Schritten behoben:
quelle
default-libmysqlclient-dev
, da das regulärelibmysqlclient-dev
Paket keinen Installationskandidaten enthält.Die Befehle (auch MySQL) mPATH fehlen möglicherweise.
export PATH=$PATH:/usr/local/mysql/bin/
quelle
Schritt 1: - Installieren Sie Python3 und Python3-dev Both
Schritt 2: - Installieren Sie Python & MySQL Connector
Schritt 3: - Installieren Sie den Python MySQL Client
Dies wird Ihr Problem lösen
quelle
Wenn Sie unter MacOS sind und [email protected] bereits über Brew installiert haben, installieren Sie:
brew install mysql-connector-c
brew unlink [email protected]
brew link --overwrite --dry-run [email protected]
Zuerst, um zu sehen, welche Symlinks überschrieben werdenbrew link --overwrite --force [email protected]
um mysql-bezogene Symlinks tatsächlich mit [email protected] zu überschreibenpip install mysqlclient
quelle
Ich habe es durch die Installation von libmysqlclient behoben:
quelle
Das
MySQL-python
Paket verwendet denmysql_config
Befehl, um Informationen zurmysql
Konfiguration auf Ihrem Host zu erhalten. Ihr Gastgeber hat das nichtmysql_config
Befehl nicht.Das MySQL-Entwicklungsbibliothekspaket (MySQL-devel-xxx) von dev.mysql.com bietet diesen Befehl und die vom MySQL-Python-Paket benötigten Bibliotheken. Die
MySQL-devel
Pakete befinden sich im Bereich Download - Community Server. Die Paketnamen der MySQL-Entwicklungsbibliothek beginnen mitMySQL-devel
und variieren je nach MySQL-Version und Linux-Plattform (zMySQL-devel-5.5.24-1.linux2.6.x86_64.rpm
. B. ).Beachten Sie, dass Sie den MySQL-Server nicht installieren müssen.
quelle
Das Paket libmysqlclient-dev ist veraltet. Verwenden Sie daher den folgenden Befehl, um das Problem zu beheben.
Das Paket libmysqlclient-dev ist nicht verfügbar, wird jedoch von einem anderen Paket referenziert. Dies kann bedeuten, dass das Paket fehlt, veraltet ist oder nur von einer anderen Quelle verfügbar ist
quelle
In Centos 7 funktioniert das bei mir:
quelle
Auf meinem Fedora 23-Computer musste ich Folgendes ausführen:
quelle
Für Alpine Linux:
$ apk add mariadb-dev mariadb-client mariadb-libs
MariaDB ist ein Ersatz für MySQL und wurde ab Alpine 3.2 zum neuen Standard. Siehe https://bugs.alpinelinux.org/issues/4264
quelle
Ich denke, folgende Zeilen können am Terminal ausgeführt werden
Dieses Verzeichnis mysql_config ist für zend server unter MacOSx. Sie können dies für Linux wie folgt tun
Dies ist das Standard-Linux-MySQL-Verzeichnis.
quelle
Ich hatte diese Probleme und löste sie, indem ich einen Symlink hinzufügte
mysql_config
.Ich hatte MySQL mit Homebrew installiert und sah dies in der Ausgabe.
Je nachdem, wie Sie es bekommen
mysql
haben, wird es an verschiedenen Orten sein. In meinem Fall/usr/local/Cellar/mysql
Sobald Sie wissen, wo es sich befindet, sollten Sie in der Lage sein, einen symbolischen Link zu dem Ort zu erstellen, an dem Python danach sucht.
/usr/local/mysql
Das hat bei mir funktioniert.
quelle
Ich hatte das gleiche Problem. Ich habe es gelöst, indem ich diesem Tutorial gefolgt bin, um Python mit python3-dev unter Ubuntu 16.04 zu installieren:
Und jetzt können Sie Ihre virtuelle Umgebung einrichten:
quelle
Sie müssen das Python-Dev-Paket installieren:
quelle
sudo apt-get installiere python-mysqldb
Python 2.5? Klingt so, als würden Sie eine sehr alte Version von Ubuntu Server (Hardy 8.04?) Verwenden. Bitte bestätigen Sie, welche Linux-Version der Server verwendet.
Python-MySQL-Suche in der Ubuntu-Paketdatenbank
Einige zusätzliche Informationen:
Aus der README von MySQL-Python -
Red Hat Linux .............
MySQL-Python ist in Red Hat Linux 7.x und höher vorinstalliert. Dies umfasst Fedora Core und Red Hat Enterprise Linux. Sie können auch Ihre eigenen RPM-Pakete erstellen, wie oben beschrieben.
Debian GNU / Linux ................
Verpackt als
python-mysqldb
_ ::Oder verwenden Sie Synaptic.
.. _
python-mysqldb
: http://packages.debian.org/python-mysqldbUbuntu ......
Gleich wie bei Debian.
Fußnote: Wenn Sie wirklich eine Serverdistribution verwenden, die älter als Ubuntu 10.04 ist, haben Sie keinen offiziellen Support mehr und sollten eher früher als später ein Upgrade durchführen.
quelle
Diese Methode ist nur für diejenigen gedacht, die wissen, dass MySQL installiert ist, aber mysql_config immer noch nicht gefunden werden kann. Dies geschieht, wenn die Python-Installation mysql_config in Ihrem Systempfad nicht finden kann. Dies geschieht meistens, wenn Sie die Installation über das .dmg Mac Package durchgeführt oder unter einem benutzerdefinierten Pfad installiert haben. Der einfachste und dokumentierteste Weg von MySqlDB besteht darin, die site.cfg zu ändern . Suchen Sie die mysql_config, die sich wahrscheinlich in / usr / local / mysql / bin / befindet, und ändern Sie die Variable mysql_config wie unten beschrieben, und führen Sie die Installation erneut aus. Vergessen Sie nicht, den Kommentar zu entfernen, indem Sie "#" entfernen.
Ändern Sie unter der Zeile
zu
abhängig vom Pfad in Ihrem System.
Übrigens habe ich Python-Installation verwendet, nachdem ich die site.cfg geändert habe
sudo /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python setup.py install
quelle
Bisher erfordern alle Lösungen (Linux)
sudo
oder Root-Rechte für die Installation. Hier ist eine Lösung, wenn Sie keine Root-Rechte haben und ohnesudo
. (neinsudo apt install ...
):dpkg -x libmysqlclient-dev_<version tag>.deb .
diese aus. Dadurch wird ein Ordner mit dem Namen extrahiertusr
.Symlink
./usr/bin/mysql_config
zu einer Stelle, die sich auf Ihrer Website befindet$PATH
:ln -s
`pwd`
/usr/bin/mysql_config FOLDER_IN_YOUR_PATH
Es sollte jetzt in der Lage sein zu finden
mysql_config
Getestet unter Ubuntu 18.04.
quelle
Für macOS Mojave war eine zusätzliche Konfiguration erforderlich, damit Compiler OpenSSL finden, müssen Sie möglicherweise Folgendes festlegen:
quelle
Ich denke, der bequemste Weg, um dieses Problem im Jahr 2020 zu lösen, ist die Verwendung eines anderen Python-Pakets. Wir müssen keine andere Binärsoftware installieren.
Versuche dies
pip install mysql-connector-python
und dann
quelle
Ich bin auf dasselbe Problem gestoßen, habe nur den Pfad hinzugefügt, in dem sich * mysql_config * zur Umgebungsvariablen PATH befand, und es hat bei mir funktioniert.
quelle
sudo apt-get build-dep python-mysqldb
installiert alle Abhängigkeiten, um das Paket aus PIP / easy_install zu erstellenquelle
Als tatsächlicher Fehler gilt
und Wenn Sie die Pakete python-dev oder python-devel nicht installieren können, können Sie das Archiv mit der erforderlichen Version der Python-Quellen von http://hg.python.org/ herunterladen und die Header-Dateien in den entsprechenden Ordner zum Einschließen legen
quelle
Tippe einfach:
Dies wird diese Probleme lösen.
quelle
sudo apt-get install libmysqlclient-dev
In CentOS 7 sollten folgende Schritte ausgeführt werden:
quelle