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,最好是永久添加它(即添加到
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用户:
然后
如果此解决方案不起作用,并打印gcc编译错误,如:
您需要指定
如果你在Mac上全局安装
1 | brew install mysql |
然后像这样导出路径
1 | export PATH=$PATH:/usr/local/mysql/bin |
最后在全球范围内或在您的Venv中
1 | pip install MySQL-Python |
我试图在AmazonEC2Linux实例上安装
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的任何人,解决方案是安装
例如,这对我很有用:
1 | ln -s /usr/bin/mariadb_config /usr/bin/mysql_config |
试试
您应该先安装
1 | yum install python-devel mysql-community-devel -y |
然后可以安装
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包安装的。
一个不知道这一点的开发人员意外地运行了
在这种情况下,正确的解决方案是
你的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:-)