Pip install mysql-python не работает с EnvironmentError: mysql_config не найден

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

(mysite)[email protected]:~/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)[email protected]:~/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

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

Ответ 1

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

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

sudo apt-get install libmysqlclient-dev

Возможно, mysql_config не на вашем пути, это будет случай, когда вы скомпилируете сам набор mysql.

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

sudo apt install default-libmysqlclient-dev

Ответ 2

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

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

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

Ответ 3

apt-get install libmysqlclient-dev python-dev

Казалось, что это трюк.

Ответ 4

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

Для Ubuntu:

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

Для CentOS:

$ yum install python-devel mysql-devel

Ответ 6

Для пользователей 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

Ответ 7

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

brew install mysql

затем экспортировать путь, как это

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

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

pip install MySQL-Python

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

pip3 install MySQL-Python

Ответ 8

Я пытался установить 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

И это сделало трюк.

Ответ 9

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

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

ln -s /usr/bin/mariadb_config /usr/bin/mysql_config

Ответ 10

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

Ответ 11

Попробуйте sudo apt-get build-dep python-mysqldb

Ответ 12

для mariadb install lib mariadb клиент-dev вместо libmysqlclient-dev

sudo apt-get install libmariadbclient-dev

Ответ 13

Сначала вы должны установить mysql:

yum install python-devel mysql-community-devel -y

Затем вы можете установить mysqlclient:

pip install  mysqlclient

Ответ 14

иногда ошибка зависит от фактической причины. у нас был случай, когда mysql-python был установлен через пакет debian python-mysqldb.

разработчик, который этого не знал, случайно побежал pip uninstall mysql-python, а затем не смог восстановить с помощью pip install mysql-python, указав указанную выше ошибку.

pip uninstall mysql-python уничтожил содержимое пакета debian и, конечно, pip install mysql-python не удалось, потому что пакет debian не нуждался ни в каких dev файлах.

правильным решением в этом случае было apt-get install --reinstall python-mysqldb, которое вернуло mysql-python в исходное состояние.

Ответ 15

Последовательность, которой нужно следовать.

pip install mysqlclient
sudo apt-get install python3-dev libmysqlclient-dev
pip install configparser 
sudo cp /usr/lib/python3.6/configparser.py /usr/lib/python3.6/ConfigParser.py 

Затем попробуйте снова установить MYSQL-python. Это сработало для меня

Ответ 16

Если аналогичная проблема пытается установить на OS X Server 10.6.8. Вот что я должен был сделать. Использование:

MySQL-python 1.2.4b4 (источник) MySQL-5.6.19 (двоичный установщик) Python 2.7 (двоичный установщик) ПРИМЕЧАНИЕ. Установка в virtualenv...

Распакуйте источник, откройте "distribute_setup.py" и отредактируйте DEFAULT_VERSION, чтобы использовать последнюю версию инструментов распространения, например:

DEFAULT_VERSION = "0.6.49"

Сохранить. Откройте файл "site.cfg" и раскомментируйте путь к mysql_config, чтобы он выглядел примерно так (ссылайтесь на свой собственный путь к mysql_config):

# The path to mysql_config.
# Only use this if mysql_config is not on your PATH, or you have some weird
# setup that requires it.
mysql_config = /usr/local/mysql/bin/mysql_config

Теперь очистить, выполнить и сделать не будет, если ошибка "mysql_config" не найдена. Надеюсь, это поможет кому-то еще попытаться использовать свои старые xserves: -)

Ответ 17

Ваш путь sudo не знает о вашем локальном пути... перейдите в режим суперпользователя, добавьте путь и установите его там.

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

И вы работаете на OSX. Теперь у вас есть обновленный глобальный питон.

Ответ 18

если вы устанавливаете MySQL-python в свой виртуальный env, вы должны проверить версию pip, если версия старше 9.0.1, пожалуйста, обновите ее

pip install --upgrade pip

Ответ 19

У меня была та же проблема в контейнере Terraform: light. Он основан на альпийском.

Там вы должны установить mariadb-dev с:

apk add mariadb-dev

Но этого недостаточно, потому что также пропущены все другие зависимости:

apk add python2 py2-pip gcc python2-dev musl-dev

Ответ 20

Для линукса

это работает для меня

yum install python-devel mysql-devel