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
Ответ 5
Вы можете использовать MySQL Connector/Python
Установка через PyPip
pip install mysql-connector-python
Дополнительную информацию можно найти в блоге MySQL Connector/Python 1.0.5.
На Launchpad там хороший пример того, как добавлять, редактировать или удалять данные с помощью библиотеки.
Ответ 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