6

mysql_config не найден при установке интерфейса mysqldb для Python

1

Я пытаюсь запустить скрипт на 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?

5 ответ(ов)

9

mySQLdb — это интерфейс Python для MySQL, но, как видно, это не сама MySQL. Действительно, для работы mySQLdb необходима утилита mysql_config, поэтому сначала вам нужно ее установить.

Можете подтвердить, установлена ли у вас сама MySQL, выполнив команду mysql в терминале? Если MySQL установлена, вы должны получить ответ, отличный от "mysql: command not found".

Какую дистрибуцию Linux вы используете? MySQL предустановлена для большинства дистрибутивов. Например, для 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

Ссылка:
https://github.com/JudgeGirl/Judge-sender/issues/4#issuecomment-186542797

2

При установке python-mysql на Ubuntu 12.04 с помощью команды

pip install mysql-python

я столкнулся с проблемой:

Not Found "mysql_config"

Эта проблема решилась у меня после выполнения команды:

sudo apt-get install libmysqlclient-dev

Затем возникла новая ошибка:

...
_mysql.c:29:20: ошибка фатальная: Python.h: Нет такого файла или директории

компиляция завершена.

error: command 'gcc' failed with exit status 1

Я решил её, установив пакет:

sudo apt-get install python-dev

(Если вы используете Python 3, установите python3-dev вместо этого.)

После этого все сработало отлично 😃

pip install mysql-python
    Установка собранных пакетов: mysql-python
      Запуск setup.py install для mysql-python
        создание расширения '_mysql'
        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
        В файле, включенном из _mysql.c:44:0:
        /usr/include/mysql/my_config.h:422:0: предупреждение: переопределено "HAVE_WCSCOLL" [включено по умолчанию]
        /usr/include/python2.7/pyconfig.h:890:0: примечание: это место предшествующего определения
        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
    
Успешно установлено mysql-python
Очистка...

Надеюсь, это поможет и вам!

0

На Red Hat мне нужно было выполнить следующие команды:

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

После этого всё заработало.

0

Для установки необходимых библиотек в системе с Python 3.5.2 и любой будущей версией вы можете использовать следующую команду:

sudo apt-get install libmysqlclient-dev python3-dev

Обратите внимание, что вместо python-dev (который предназначен для Python 2) нужно использовать python3-dev, так как вы работаете с Python 3. Эта команда установит библиотеку для работы с MySQL и заголовочные файлы для разработки на Python 3, что позволит вам компилировать и устанавливать необходимые пакеты, такие как mysqlclient.

После установки библиотек, вы можете установить mysqlclient с помощью pip:

pip install mysqlclient

Убедитесь, что у вас установлен pip для Python 3. Если pip не установлен, вы можете установить его с помощью команды:

sudo apt-get install python3-pip

Таким образом, у вас будет всё необходимое для работы с MySQL в Python.

0

Это сработало для меня на Ubuntu 12.04 LTS:

apt-get install libmysqlclient-dev python-dev

Хотя это решение помогло, я решил дополнительно выполнить следующее:

export PATH=$PATH:/usr/local/mysql/bin/
Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь