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 ]

589 голосов
/ 19 сентября 2011

mySQLdb - это интерфейс Python для mysql, но это не сам MySQL.И, очевидно, mySQLdb нужна команда 'mysql_config', поэтому вам нужно сначала установить ее.

Можете ли вы подтвердить, что вы установили или не установили сам mysql, запустив "mysql" из оболочки?Это должно дать вам ответ, отличный от «mysql: команда не найдена».

Какой дистрибутив Linux вы используете?Mysql предварительно упакован для большинства дистрибутивов Linux.Например, для debian / ubuntu установка mysql так же проста, как

sudo apt-get install mysql-server

mysql-config находится в другом пакете, который можно установить из (опять же, при условии, что debian / ubuntu):

sudo apt-get install libmysqlclient-dev

, если вы используете mariadb, вместо замены mysql выведите команду, а затем выполните

sudo apt-get install libmariadbclient-dev
175 голосов
/ 10 октября 2012

Я устанавливал python-mysql в Ubuntu 12.04, используя

pip install mysql-python

Сначала у меня возникла та же проблема:

Not Found "mysql_config"

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

$ sudo apt-get install libmysqlclient-dev

Тогда у меня была эта проблема:

...
_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

Затем я попытался с

apt-get install python-dev

И тогда я был счастлив:)

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...
31 голосов
/ 09 февраля 2015

В Red Hat мне пришлось сделать

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

Тогда все заработало.

30 голосов
/ 11 августа 2013

На Ubuntu 12.04 LTS у меня сработало следующее:

apt-get install libmysqlclient-dev python-dev

Несмотря на то, что это сработало, я все же сделал следующее:

export PATH=$PATH:/usr/local/mysql/bin/
23 голосов
/ 03 октября 2012

Я получил ту же ошибку при попытке установить mysql-python.

Вот как я это исправил.

sudo PATH=/usr/local/mysql/bin/:$PATH pip install mysql-python

Проблема заключалась в том, что установщик не смог найти mysql_config впуть по умолчанию.Теперь это может .. и это сработало ..

 15 warnings generated.
    clang -bundle -undefined dynamic_lookup -Wl,-F. build/temp.macosx-10.8-intel-2.7/_mysql.o -L/usr/local/mysql/lib -lmysqlclient_r -lz -lm -lmygcc -o build/lib.macosx-10.8-intel-2.7/_mysql.so -arch x86_64

Successfully installed mysql-python
Cleaning up...

Надеюсь, это поможет.

Спасибо.

19 голосов
/ 02 ноября 2012

Я исправил эту проблему с помощью следующих шагов:

sudo apt-get install libmysqlclient-dev
sudo apt-get install python-dev
sudo python setup.py install
17 голосов
/ 04 августа 2012

Команды (тоже mysql) mPATH могут отсутствовать.

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

12 голосов
/ 03 июля 2018

(специфично для mac) Я много чего перепробовал, но этот набор команд наконец-то сработал для меня.

  1. brew install mysql # установить mysql
  2. brew unlink mysql
  3. brew install mysql-connector-c
  4. export PATH=/usr/local/Cellar/mysql/8.0.11/bin:$PATH # обновить путь и установить корзину mysqlпуть к папке
  5. sudo ln -s /usr/local/Cellar/mysql/8.0.11/lib/libmysqlclient.21.dylib /usr/local/Cellar/lib/libmysqlclient.21.dylib # создать символическую ссылку
  6. pip install mysqlclient # наконец, установить mysql-клиент
9 голосов
/ 29 февраля 2012

Я исправил это, установив libmysqlclient:

sudo apt-get install libmysqlclient16-dev
8 голосов
/ 09 мая 2012

Пакет MySQL-python использует команду mysql_config, чтобы узнать о конфигурации mysql на вашем хосте. У вашего хоста нет команды mysql_config.

Пакет библиотек разработки MySQL (MySQL-devel-xxx) от dev.mysql.com предоставляет эту команду и библиотеки, необходимые для пакета MySQL-python. Пакеты MySQL-devel находятся в разделе сервера загрузки. Имена пакетов библиотеки разработки MySQL начинаются с MySQL-devel и различаются в зависимости от версии MySQL и платформы linux (например, MySQL-devel-5.5.24-1.linux2.6.x86_64.rpm.)

Обратите внимание, что вам не нужно устанавливать сервер MySQL.

...