pip install mysql python失败,环境错误 EnvironmentError: mysql_config not found

pip install mysql-python fails with EnvironmentError: mysql_config not found

这是我犯的错误

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
(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

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


您的系统上似乎缺少mysql_配置,或者安装程序找不到它。确保mysql_-config已安装。

例如,在debian/ubuntu上,必须安装软件包:

1
sudo apt-get install libmysqlclient-dev

可能mysql-config不在您的路径中,您自己编译时就会出现这种情况。MySQL套件。

更新:Debian/Ubuntu的最新版本(截至2018年)是

1
sudo apt install default-libmysqlclient-dev


运行mac osx mountain lion时,我只需在终端运行此命令来修复:

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

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


1
apt-get install libmysqlclient-dev python-dev

好像在耍花招。


对于上述问题,可能有各种各样的答案,下面是一个聚合解决方案。

Ubuntu:

1
2
3
$ sudo apt update
$ sudo apt install python-dev
$ sudo apt install python-MySQLdb

CITOS:

1
$ yum install python-devel mysql-devel


您可以使用mysql connector/python

通过Pypip安装

1
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上全局安装

1
brew install mysql

然后像这样导出路径

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

最后在全球范围内或在您的Venv中

1
pip install MySQL-Python

我试图在AmazonEC2Linux实例上安装mysql-python,我必须安装这些:

1
yum install mysql mysql-devel mysql-common mysql-libs gcc

但后来我得到了这个错误:

1
_mysql.c:29:20: fatal error: Python.h: No such file or directory

所以我安装了:

1
yum install python-devel

这就成功了。


小牛

由于OSX Mavericks&xcode开发工具中的更改,安装时可能会出错。

1
clang: error: unknown argument: '-mno-fused-madd' [-Wunused-command-line-argument-hard-error-in-future]

因此使用:

1
sudo ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future pip install mysql-python

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

例如,这对我很有用:

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


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


您应该先安装mysql

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

然后可以安装mysqlclient

1
pip install  mysqlclient

对于mariadb,安装libmariadbclient dev而不是libmysqlclient dev

1
sudo apt-get install libmariadbclient-dev


要遵循的顺序。

1
2
3
4
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。对我有用


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

一个不知道这一点的开发人员意外地运行了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恢复到其原始状态。


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

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

你在OSX上运行。现在您有了一个更新的全局python。


如果在虚拟环境中安装mysql python,应该检查pip版本,如果该版本早于9.0.1,请更新。

1
pip install --upgrade pip


我在地形上也遇到了同样的问题:轻型集装箱。它以阿尔卑斯山为基地。

在那里,您必须安装Mariadb Dev:

1
apk add mariadb-dev

但这一个还不够,因为其他所有依赖项也都会丢失:

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

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

mysql python 1.2.4b4(源代码)mysql-5.6.19(二进制安装程序)python 2.7(二进制安装程序)注意:在virtualenv中安装…

解压源文件,打开"distributeu setup.py"并编辑默认版本以使用最新版本的分发工具,如:

1
DEFAULT_VERSION ="0.6.49"

保存。打开"site.cfg"文件,取消对mysql_-config路径的注释,使其看起来像(参考您自己的mysql_-config路径):

1
2
3
4
# 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'未找到错误而失败。希望这能帮助其他人利用他们的旧Xserves:-)