pip安装mysql-python与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 我能做些什么来解决这个问题?
看来你的系统上缺lessmysql_config,或者安装程序找不到它。 确保mysql_config是真正安装的。
例如在Debian / Ubuntu上,你必须安装这个软件包:
 sudo apt-get install libmysqlclient-dev 
也许mysql_config不在你的path中,当你自己编译mysql套件的时候就是这种情况。
运行Mac OSX Mountain Lion,我只是在terminal上运行以解决这个问题:
 export PATH=$PATH:/usr/local/mysql/bin 
 这是我find的最快的修复方法 – 它将其添加到path中,但是如果您打算在另一个环境中安装MySQL-python,我认为最好永久添加它(即将其添加到/etc/paths )。 
 apt-get install libmysqlclient-dev python-dev 
似乎要做的伎俩。
上述问题可能有各种答案,下面是一个综合解决scheme。
对于Ubuntu:
 sudo apt-get update sudo apt-get install python-dev sudo apt-get install python-MySQLdb 
对于CentOS:
 yum install python-devel mysql-devel 
你可以使用MySQL连接器/ Python
通过PyPip安装
 pip install mysql-connector-python 
更多信息可以在MySQL Connector / Python 1.0.5 beta公告博客上find。
在Launchpad上,有一个很好的例子,说明如何在库中添加,编辑或删除数据 。
 我试图在Amazon EC2 Linux实例上安装mysql-python ,我不得不安装这些: 
 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 
那就是诀窍。
对于centos用户:
 yum install -y mysql-devel python-devel python-setuptools 
然后
 pip install MySQL-python 
 如果这个解决scheme不起作用 ,并打印gcc编译错误,如: 
 _mysql.c:29:20: error: Python.h: No such file or directory 
 您需要指定Python.h的path,如下所示: 
 pip install --global-option=build_ext --global-option="-I/usr/include/python2.6" MySQL-python 
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 
 试试sudo apt-get build-dep python-mysqldb 
 对于任何使用MariaDB而不是MySQL的人来说,解决scheme是安装libmariadbclient-dev软件包,并使用正确的名称创build符号链接到configuration文件。 
例如这为我工作:
 ln -s /usr/bin/mariadb_config /usr/bin/mysql_config 
如果您在MAC上,请在全球范围内安装
 brew install mysql 
然后像这样输出path
 export PATH=$PATH:/usr/local/mysql/bin 
最后在全球或在你的venv
 pip install MySQL-Python 
有时错误取决于实际的原因。 我们曾经通过python-mysqldb debian软件包安装了mysql-python。
 一个不知道这个的开发者,不小心运行pip uninstall mysql-python ,然后用pip install mysql-python无法恢复,给出了上面的错误。 
  pip uninstall mysql-python破坏了debian软件包的内容,当然pip install mysql-python失败了,因为debian软件包不需要任何的开发文件。 
 在这种情况下正确的解决scheme是apt-get install --reinstall python-mysqldb ,它将mysql-python恢复到原始状态。 
为mariadb安装lib mariadb client-dev而不是libmysqlclient-dev
 sudo apt-get install libmariadbclient-dev 
有一个类似的问题试图安装在OS X服务器10.6.8。 这是我必须做的。 使用:
MySQL-python 1.2.4b4(源代码)MySQL-5.6.19(二进制安装程序)Python 2.7(二进制安装程序)注意:在virtualenv中安装…
解压缩源代码,打开“distribute_setup.py”并编辑DEFAULT_VERSION以使用最新版本的分发工具,如下所示:
 DEFAULT_VERSION = "0.6.49" 
保存。 打开“site.cfg”文件,并取消注释到mysql_config的path,使其看起来像(引用自己的path到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 
现在干净,build立和使不会失败,'mysql_config'找不到错误。 希望这可以帮助别人试图使用他们的旧版本:-)
你的sudopath不知道你的本地path…进入超级用户模式,添加path,并从那里安装。
 sudo su export PATH=$PATH:/usr/local/mysql/bin/ pip install mysql-python exit 
你在OSX上运行起来。 现在你有一个更新的全球Python。