mysql_config не найден при установке Python-интерфейса mysqldb - PullRequest
398 голосов
/ 19 сентября 2011

Я пытаюсь запустить скрипт Python на сервере Linux, к которому я подключен через ssh.Скрипт использует mysqldb.У меня есть все остальные компоненты, которые мне нужны, но когда я пытаюсь установить mySQLdb через setuptools, например так :,

python setup.py install

, я получаю следующий отчет об ошибке, связанный с командой mysql_config.

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

Кто-нибудь еще сталкивался с этой ошибкой, и если да, то как вы ее решили / что я могу сделать, чтобы успешно установить mysqldb?

Ответы [ 27 ]

7 голосов
/ 29 декабря 2018

Если вы используете MacOS и уже установили mysql@5.7 через brew, установите:

  1. brew install mysql-connector-c
  2. brew unlink mysql@5.7
  3. brew link --overwrite --dry-run mysql@5.7 сначала, чтобы увидеть, какие символические ссылки перезаписываются
  4. brew link --overwrite --force mysql@5.7, чтобы фактически перезаписать связанные с mysql символические ссылки с помощью mysql@5.7
  5. pip install mysqlclient
5 голосов
/ 01 сентября 2018

В Centos 7 это работает для меня:

yum install mariadb-devel
pip install mysqlclient
5 голосов
/ 21 мая 2016

На моей машине Fedora 23 мне нужно было выполнить следующее:

sudo dnf install mysql-devel
5 голосов
/ 29 декабря 2016

Для Alpine Linux:

$ apk add mariadb-dev mariadb-client mariadb-libs

MariaDB является заменой для MySQL и стала новым стандартом для Alpine 3.2. Смотри https://bugs.alpinelinux.org/issues/4264

4 голосов
/ 28 декабря 2012

Я думаю, следующие строки могут быть выполнены на терминале

 sudo ln -s /usr/local/zend/mysql/bin/mysql_config /usr/sbin/

Этот каталог mysql_config предназначен для Zend-сервера в MacOSx. Вы можете сделать это для Linux, как следующие строки

sudo ln -s /usr/local/mysql/bin/mysql_config /usr/sbin/

Это каталог linux mysql по умолчанию.

4 голосов
/ 26 ноября 2015

У меня были эти проблемы, и я решил их, добавив символическую ссылку на mysql_config.

Я установил mysql с помощью homebrew и увидел это в выводе.

Error: The `brew link` step did not complete successfully

В зависимости от того, как вы получили mysql, это будет в разных местах. В моем случае /usr/local/Cellar/mysql
Как только вы узнаете, где он находится, вы сможете создать символическую ссылку на то, где его ищет python. /usr/local/mysql

Это сработало для меня.

ln -s /usr/local/Cellar/mysql/<< VERSION >>/bin/mysql_config   /usr/local/mysql/bin/mysql_config
3 голосов
/ 20 ноября 2012

Вам необходимо установить пакет python-dev:

sudo apt-get install python-dev
2 голосов
/ 09 декабря 2013

Этот метод предназначен только для тех, кто знает, что Mysql установлен, но все еще не может найти mysql_config.Это происходит, если при установке python не удается найти mysql_config в системном пути, что в основном происходит, если вы выполнили установку с помощью пакета .dmg Mac или установили по какому-либо настраиваемому пути.MySqlDB - это самый простой и документированный способ изменить site.cfg .Найдите mysql_config, который, вероятно, находится в / usr / local / mysql / bin / и измените переменную, а именно mysql_config , как показано ниже, и снова запустите установку.Не забудьте откомментировать его, удалив "#"

Изменить ниже строки

"# mysql_config = / usr / local / bin / mysql_config"

до

"mysql_config = / usr / local / mysql / bin / mysql_config"

в зависимости от пути в вашей системе.

Кстати, я использовал установку python после изменения site.cfg

sudo /System/Library/Frameworks/Python.framework/Versions/2.7/bin / python setup.py install

2 голосов
/ 20 сентября 2011

sudo apt-get install python-mysqldb

Python 2.5? Похоже, вы используете очень старую версию Ubuntu Server (Hardy 8.04?) - пожалуйста, подтвердите, какую версию Linux использует сервер.

python-mysql поиск в базе данных пакетов Ubuntu

Дополнительная информация:

Из README mysql-python -

Red Hat Linux .............

MySQL-python предварительно упакован в Red Hat Linux 7.x и новее. это включает в себя Fedora Core и Red Hat Enterprise Linux. Вы также можете создайте свои собственные RPM-пакеты, как описано выше.

Debian GNU / Linux ................

Упаковано как python-mysqldb _ ::

# apt-get install python-mysqldb

Или используйте Synaptic.

.. _ python-mysqldb: http://packages.debian.org/python-mysqldb

Ubuntu ......

То же, что и в Debian.

Сноска. Если вы действительно используете дистрибутив сервера старше Ubuntu 10.04, значит у вас нет официальной поддержки, и вы должны обновить его раньше, чем позже.

1 голос
/ 03 января 2013

sudo apt-get build-dep python-mysqldb установит все зависимости для сборки пакета из PIP / easy_install

...