910

这是我得到的错误

(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

我能做些什么来解决这个问题?

4

24 回答 24

1529

您的系统上似乎缺少 mysql_config 或安装程序找不到它。确保 mysql_config 确实已安装。

例如,在 Debian/Ubuntu 上,您必须安装该软件包:

sudo apt-get install libmysqlclient-dev

也许mysql_config不在你的路径中,当你自己编译mysql套件时会出现这种情况。

更新:对于 debian/ubuntu 的最新版本(截至 2018 年),它是

sudo apt install default-libmysqlclient-dev
于 2011-03-03T09:15:32.110 回答
313

在 Mac OS 中,我只是在终端中运行它来修复:

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

这是我找到的最快的修复方法 - 它将它添加到路径中,但我认为/etc/paths如果您计划在另一个环境中安装 MySQL-python,最好将其永久添加(即添加到 )。

(在 OSX Mountain Lion 中测试)

于 2012-09-27T12:18:50.650 回答
104
apt-get install libmysqlclient-dev python-dev

似乎成功了。

于 2012-12-04T06:51:35.560 回答
103

上述问题可能有各种答案,下面是一个汇总的解决方案。

对于 Ubuntu:

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

对于 CentOS:

$ yum install python-devel mysql-devel
于 2014-02-25T11:49:39.170 回答
42

如果您在 MAC 上,请全局安装

brew install mysql

然后像这样导出路径

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

比全球范围内或在你喜欢的任何地方

pip install MySQL-Python

注意:全局用于 python3,因为 Mac 可以同时拥有 python2 和 3

pip3 install MySQL-Python
于 2017-09-14T09:59:36.440 回答
38

您可以使用 MySQL 连接器/Python

通过 PyPip 安装

pip install mysql-connector-python

更多信息可以在MySQL Connector/Python 1.0.5 beta 公告博客上找到。

在 Launchpad 上有一个很好的示例,说明如何使用库添加、编辑或删除数据。

于 2012-10-11T12:05:19.707 回答
28

对于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

于 2016-05-04T07:51:20.873 回答
19

我试图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

这就是诀窍。

于 2013-07-25T21:40:34.400 回答
10

对于使用 MariaDB 而不是 MySQL 的任何人,解决方案是安装libmariadbclient-dev软件包并使用正确名称创建指向配置文件的符号链接。

例如,这对我有用:

ln -s /usr/bin/mariadb_config /usr/bin/mysql_config
于 2015-06-19T12:44:58.873 回答
9

对于 Linux

这对我有用

yum install python-devel mysql-devel
于 2019-05-09T09:16:51.200 回答
6

尝试sudo apt-get build-dep python-mysqldb

于 2012-06-24T19:52:47.093 回答
6

OSX 小牛队

由于 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
于 2014-03-19T18:36:00.053 回答
6

对于 mariadb 安装lib mariadb client-dev而不是libmysqlclient-dev

sudo apt-get install libmariadbclient-dev
于 2017-08-14T07:30:04.150 回答
5

我在 Terraform:light 容器中遇到了同样的问题。它基于阿尔卑斯山。

在那里你必须安装 mariadb-dev :

apk add mariadb-dev

但这还不够,因为还遗漏了所有其他依赖项:

apk add python2 py2-pip gcc python2-dev musl-dev
于 2018-04-11T10:26:03.670 回答
5

您应该安装第mysql一个:

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

然后你可以安装mysqlclient

pip install  mysqlclient
于 2017-12-29T01:11:43.233 回答
2

有时错误取决于实际原因。我们有一个通过 python-mysqldb debian 包安装 mysql-python 的案例。

一个不知道这一点的开发人员意外运行,然后由于出现上述错误pip uninstall mysql-python而无法恢复。pip install mysql-python

pip uninstall mysql-python已经破坏了 debian 包的内容,当然pip install mysql-python失败了,因为 debian 包不需要任何开发文件。

在这种情况下,正确的解决方案是apt-get install --reinstall python-mysqldb将 mysql-python 恢复到其原始状态。

于 2017-06-29T14:31:28.243 回答
2

要遵循的顺序。

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。这对我有用

于 2019-01-02T07:04:35.673 回答
2

在 Mac 上:

brew install mysql-client

定位 mysql

mdfind mysql | grep bin

然后添加到路径

export PATH=$PATH:/usr/local/Cellar/mysql-client/8.0.23/bin/

或永久

echo "export PATH=$PATH:/usr/local/Cellar/mysql-client/8.0.23/bin/" >> ~/.zshrc
source ~/.zshrc
于 2021-01-19T17:30:15.340 回答
1

尝试在 OS X Server 10.6.8 上安装时遇到类似问题。这是我必须做的。使用:

MySQL-python 1.2.4b4 (source) MySQL-5.6.19 (binary installer) Python 2.7 (binary installer) 注意:安装在 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

现在 clean,build 和 make 不会因为 'mysql_config' not found 错误而失败。希望这可以帮助其他人尝试使用他们的旧 xserve :-)

于 2014-07-05T15:20:16.200 回答
1

写于 2021 年 8 月 27 日

我的macos版本是BigSur(14.4),mysql版本是mysql8。似乎在更高版本的 mysql 中,他们删除了my_config.h文件但更改为mysql.h.

所以你们应该运行以下shell:

cd /usr/local/include/mysql
cp mysql.h my_config.h

之后,运行pip install MySQL-python,一切都会好起来的。

于 2021-08-27T07:36:06.393 回答
1

如果您在虚拟环境中安装 MySQL-python,您应该检查 pip 版本,如果版本低于 9.0.1,请更新它

pip install --upgrade pip
于 2018-02-21T11:30:12.410 回答
1

您的 sudo 路径不知道您的本地路径...进入超级用户模式,添加路径,然后从那里安装。

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

你已经在 OSX 上运行起来了。现在你有一个更新的全局 python。

于 2017-05-17T17:07:20.260 回答
0

在我的情况下,当我尝试更新代码时,我的数据库正在容器上运行,而我的烧瓶应用程序正在另一个容器上运行,应用程序因错误而崩溃

   Complete output from command python setup.py egg_info:
/bin/sh: 1: mysql_config: not found
/bin/sh: 1: mariadb_config: not found
/bin/sh: 1: mysql_config: not found
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/tmp/pip-build-bya8e734/mysqlclient/setup.py", line 15, in <module>
    metadata, options = get_config()
  File "/tmp/pip-build-bya8e734/mysqlclient/setup_posix.py", line 65, in get_config
    libs = mysql_config("libs")
  File "/tmp/pip-build-bya8e734/mysqlclient/setup_posix.py", line 31, in mysql_config
    raise OSError("{} not found".format(_mysql_config_path))
OSError: mysql_config not found

堆栈跟踪中的键是

/bin/sh: 1: mysql_config: not found

因为我的烧瓶应用程序运行的地方没有正确配置mysql客户端所以首先我安装了mysql服务器然后安装

sudo apt-get install mysql-server-5.7 -y

然后启动 MySQL

mansoor@LARC-mansur:~/Documents/clients/HR/DevopsSimulator/web$ sudo systemctl start mysql

然后安装flask-mysql包,这次成功了

mansoor@LARC-mansur:~/Documents/clients/HR/DevopsSimulator/web$ sudo pip3 install flask-mysqldb

这是不同的情况,但在这里发布,因为可能世界上其他人面临同样的问题

于 2020-11-29T16:46:21.647 回答
0

在 MacOS Mojave 上,mysql_config 位于 /usr/local/bin/ 而不是 /usr/local/mysql/bin 如上所述,因此无需向路径添加任何内容。

于 2020-01-02T12:01:31.493 回答