pip install mysql-python завершается с ошибкой EnvironmentError: mysql_config не найден - PullRequest
764 голосов
/ 03 марта 2011

Это ошибка, которую я получаю

(mysite)zjm1126@zjm1126-G41MT-S2:~/zjm_test/mysite$ pip install mysql-python
Downloading/unpacking mysql-python
  Downloading MySQL-python-1.2.3.tar.gz (70Kb): 70Kb downloaded
  Running setup.py egg_info for package mysql-python
    sh: mysql_config: not found
    Traceback (most recent call last):
      File "<string>", line 14, in <module>
      File "/home/zjm1126/zjm_test/mysite/build/mysql-python/setup.py", line 15, in <module>
        metadata, options = get_config()
      File "setup_posix.py", line 43, in get_config
        libs = mysql_config("libs_r")
      File "setup_posix.py", line 24, in mysql_config
        raise EnvironmentError("%s not found" % (mysql_config.path,))
    EnvironmentError: mysql_config not found
    Complete output from command python setup.py egg_info:
    sh: mysql_config: not found

Traceback (most recent call last):

  File "<string>", line 14, in <module>

  File "/home/zjm1126/zjm_test/mysite/build/mysql-python/setup.py", line 15, in <module>

    metadata, options = get_config()

  File "setup_posix.py", line 43, in get_config

    libs = mysql_config("libs_r")

  File "setup_posix.py", line 24, in mysql_config

    raise EnvironmentError("%s not found" % (mysql_config.path,))

EnvironmentError: mysql_config not found

----------------------------------------
Command python setup.py egg_info failed with error code 1
Storing complete log in /home/zjm1126/.pip/pip.log
(mysite)zjm1126@zjm1126-G41MT-S2:~/zjm_test/mysite$ pip install mysql-python
Downloading/unpacking mysql-python
  Running setup.py egg_info for package mysql-python
    sh: mysql_config: not found
    Traceback (most recent call last):
      File "<string>", line 14, in <module>
      File "/home/zjm1126/zjm_test/mysite/build/mysql-python/setup.py", line 15, in <module>
        metadata, options = get_config()
      File "setup_posix.py", line 43, in get_config
        libs = mysql_config("libs_r")
      File "setup_posix.py", line 24, in mysql_config
        raise EnvironmentError("%s not found" % (mysql_config.path,))
    EnvironmentError: mysql_config not found
    Complete output from command python setup.py egg_info:
    sh: mysql_config: not found

Traceback (most recent call last):

  File "<string>", line 14, in <module>

  File "/home/zjm1126/zjm_test/mysite/build/mysql-python/setup.py", line 15, in <module>

    metadata, options = get_config()

  File "setup_posix.py", line 43, in get_config

    libs = mysql_config("libs_r")

  File "setup_posix.py", line 24, in mysql_config

    raise EnvironmentError("%s not found" % (mysql_config.path,))

EnvironmentError: mysql_config not found

----------------------------------------
Command python setup.py egg_info failed with error code 1
Storing complete log in /home/zjm1126/.pip/pip.log

Что я могу сделать, чтобы решить эту проблему?

Ответы [ 20 ]

1281 голосов
/ 03 марта 2011

Похоже, что mysql_config отсутствует в вашей системе или установщик не может его найти. Убедитесь, что mysql_config действительно установлен.

Например, в Debian / Ubuntu вы должны установить пакет:

sudo apt-get install libmysqlclient-dev

Может быть, mysql_config не на вашем пути, это будет случай, когда вы сами скомпилируете MySQL Suite.

Обновление: Для последних версий Debian / Ubuntu (по состоянию на 2018 г.) это

sudo apt install default-libmysqlclient-dev
276 голосов
/ 27 сентября 2012

Под управлением Mac OSX Mountain Lion, я просто запустил это в терминале, чтобы исправить:

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

Это самое быстрое исправление, которое я нашел - оно добавляет его к пути, но я думаю, что вам лучшедобавить его навсегда (т.е. добавить его в /etc/paths), если вы планируете установить MySQL-python в другой среде.

96 голосов
/ 04 декабря 2012
apt-get install libmysqlclient-dev python-dev

Казалось бы, добиваться цели.

83 голосов
/ 25 февраля 2014

Там могут быть различные ответы на вышеуказанную проблему, ниже агрегированное решение.

Для Ubuntu:

$ sudo apt update
$ sudo apt install python-dev
$ sudo apt install python-MySQLdb

Для CentOS:

$ yum install python-devel mysql-devel
26 голосов
/ 11 октября 2012

Вы можете использовать MySQL Connector / Python

Установка через PyPip

pip install mysql-connector-python

Дополнительную информацию можно найти на MySQL Connector / Python 1.0.5 бета-объявление блог.

На панели запуска есть хороший пример того, как добавлять, редактировать или удалять данные с помощью библиотеки.

25 голосов
/ 04 мая 2016

Для centos пользователей:

yum install -y mysql-devel python-devel python-setuptools

затем

pip install MySQL-python


Если это решение не работает и выдает ошибку компиляции gcc, например:
_mysql.c:29:20: error: Python.h: No such file or directory

Необходимо указать путь Python.h, например:
pip install --global-option=build_ext --global-option="-I/usr/include/python2.6" MySQL-python

25 голосов
/ 14 сентября 2017

Если вы находитесь на MAC Установите это глобально

brew install mysql

затем экспортируйте путь следующим образом

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

наконец, глобально или в вашем венве

pip install MySQL-Python

Примечание: глобально для python3, так как Mac может иметь как python2 & 3

pip3 install MySQL-Python
17 голосов
/ 26 июля 2013

Я пытался установить mysql-python на экземпляре Amazon EC2 Linux, и мне пришлось установить их:

yum install mysql mysql-devel mysql-common mysql-libs gcc

Но затем я получил эту ошибку:

_mysql.c:29:20: fatal error: Python.h: No such file or directory

ИтакЯ установил:

yum install python-devel

И это помогло.

6 голосов
/ 19 июня 2015

Для тех, кто использует MariaDB вместо MySQL, решение состоит в том, чтобы установить пакет libmariadbclient-dev и создать символическую ссылку на файл конфигурации с правильным именем.

Например, это сработало для меня:

ln -s /usr/bin/mariadb_config /usr/bin/mysql_config
5 голосов
/ 19 марта 2014

OSX Mavericks

Из-за изменений в osx mavericks и инструментах разработки xcode вы можете получить ошибку при установке

clang: error: unknown argument: '-mno-fused-madd' [-Wunused-command-line-argument-hard-error-in-future]

, поэтому используйте:

sudo ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future pip install mysql-python
...