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。