pip install mysql-python терпит неудачу с EnvironmentError: конфигурация mysql не найдена
Это ошибка, которую я получаю
(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 suite.
обновление: для последних версий 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 бета-версия объявление блог.
на 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
package и создайте символическую ссылку на файл конфигурации с правильным именем.
например, это сработало для меня:
ln -s /usr/bin/mariadb_config /usr/bin/mysql_config
для установки mariadb libMariaDB вклиент-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
теперь clean, build и make не потерпят неудачу с ошибкой "mysql_config" не найдена. Надеюсь, что это помогает кто-то еще пытается использовать свои старые места :-)
ваш путь sudo не знает о вашем локальном пути... перейдите в режим суперпользователя, добавьте путь и установите его оттуда.
sudo su
export PATH=$PATH:/usr/local/mysql/bin/
pip install mysql-python
exit
и вы работаете на OSX. Теперь у вас есть обновленный глобальный питона.
Если вы устанавливаете MySQL-python в своем виртуальном env, вы должны проверить версию pip, если версия старше 9.0.1, обновите ее
pip install --upgrade pip
у меня была такая же проблема в Terraform: light container. Он основан на Alpine.
там вы должны установить mariadb-dev с:
apk add mariadb-dev
но этого недостаточно, потому что также пропущены все остальные зависимости:
apk add python2 py2-pip gcc python2-dev musl-dev