pip install mysql-python fails with EnvironmentError: MySQL config не найден
Это ошибка, которую я получаю
(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
что я могу сделать, чтобы решить эту?
18 ответов:
Кажется, mysql_config отсутствует в вашей системе или установщик не смог его найти. Убедитесь, что mysql_config действительно установлен.
например на Debian/Ubuntu, вы должны установить пакет:
sudo apt-get install libmysqlclient-dev
может быть mysql_config не находится в вашем пути, это будет иметь место, когда вы компилируете самостоятельно набор mysql.
обновление: для последних версий debian / ubuntu (по состоянию на 2018 год) это
sudo apt install default-libmysqlclient-dev
запуск Mac OSX Mountain Lion, я просто запустил это в терминале, чтобы исправить:
export PATH=$PATH:/usr/local/mysql/bin
Это самое быстрое исправление, которое я нашел - он добавляет его в путь, но я думаю, что вам лучше добавить его постоянно (т. е. добавить его в
/etc/paths
) Если вы планируете установить MySQL-Python в другой среде.
там, возможно, различные ответы на вышеуказанный вопрос, ниже приводится агрегированное решение.
Для Ubuntu:
$ sudo apt update $ sudo apt install python-dev $ sudo apt install python-MySQLdb
Для CentOS:
$ yum install python-devel mysql-devel
вы можете использовать MySQL Connector / Python
Установка через PyPip
pip install mysql-connector-python
дополнительную информацию можно найти на MySQL Connector / Python 1.0.5 beta анонс блог.
на Launchpad есть хороший пример того, как добавлять, редактировать или удалять данные с библиотекой.
на 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
Если вы находитесь на MAC Установите это глобально
brew install mysql
затем экспортировать путь такой
export PATH=$PATH:/usr/local/mysql/bin
наконец глобально или в вашем venv
pip install MySQL-Python
Я пытался установить
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
и это сделало трюк.
OSX Mavericks
из-за изменений в OSX mavericks & xcode development tools вы можете получить ошибку при установке
использование :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
для тех, кто использует MariaDB вместо MySQL, решение заключается в установке
libmariadbclient-dev
пакета и создать символическую ссылку на конфигурационный файл с правильным именем.например, это сработало для меня:
ln -s /usr/bin/mariadb_config /usr/bin/mysql_config
для установки mariadb lib mariadb client-dev вместо libmysqlclient-dev
sudo apt-get install libmariadbclient-dev
иногда ошибка зависит от фактической причины. у нас был случай, когда 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 в исходное состояние.
вы должны установить
mysql
первый:yum install python-devel mysql-community-devel -y
затем вы можете установить
mysqlclient
:pip install mysqlclient
была аналогичная проблема при попытке установить на OS X Server 10.6.8. Вот что я должен был сделать. Использование:
MySQL-python 1.2. 4b4 (источник) Для MySQL 5.6.19 (бинарные установки) В Python 2.7 (бинарные установки) Примечание: установка в virtualenv...
распаковать исходный код, открыть 'distribute_setup.py' и отредактируйте DEFAULT_VERSION, чтобы использовать последнюю версию distribute tools, например:
DEFAULT_VERSION = "0.6.49"
сохранить. Откройте сайт'.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" не найдена ошибка. Надеюсь, что это помогает кто-то еще пытается использовать свои старые места :-)
ваш путь sudo не знает о вашем локальном пути... перейдите в режим суперпользователя, добавьте путь и установите его оттуда.
sudo su export PATH=$PATH:/usr/local/mysql/bin/ pip install mysql-python exit
и вы работаете на OSX. Теперь у вас есть обновленный глобальный питона.