我试图让一个Python脚本在我通过ssh连接到的linux服务器上运行。脚本使用mysqldb。我有我需要的所有其他组件,但当我试图通过setuptools安装mySQLdb,像这样:

python setup.py install

我得到以下与mysql_config命令相关的错误报告。

sh: mysql_config: command not found
Traceback (most recent call last):
  File "setup.py", line 15, in <module>
    metadata, options = get_config()
  File "/usr/lib/python2.5/MySQL-python-1.2.3/setup_posix.py", line 43, in get_config
    libs = mysql_config("libs_r")
  File "/usr/lib/python2.5/MySQL-python-1.2.3/setup_posix.py", line 24, in mysql_config
    raise EnvironmentError("%s not found" % (mysql_config.path,))
EnvironmentError: mysql_config not found

有没有其他人遇到过这个错误,如果是的话,你是如何解决的/我能做什么才能成功安装mysqldb?


当前回答

libmysqlclient-dev包已弃用,因此使用下面的命令来修复它。

libmysqlclient-dev包不可用,但由另一个包引用。 这可能意味着包丢失了,已经过时了,或者 只能从其他来源获得

sudo apt-get install default-libmysqlclient-dev

其他回答

使用apt-get install python-mysqldb

Python 2.5吗?听起来你使用的是一个非常旧的Ubuntu服务器(Hardy 8.04?) -请确认服务器使用的Linux版本。

Python-mysql搜索ubuntu包数据库

一些附加信息:

来自mysql-python -的README

红帽Linux .............

MySQL-python是在Red Hat Linux 7中预先打包的。X和更新的。这 包括Fedora核心和红帽企业Linux。你也可以 按照上面的描述构建自己的RPM包。

Debian GNU/Linux ................

打包为python-mysqldb_::

# apt-get install python-mysqldb

或者使用Synaptic。

…_python-mysqldb: http://packages.debian.org/python-mysqldb

Ubuntu ......

和Debian一样。

脚注:如果你使用的是比Ubuntu 10.04更老的服务器,那么你已经不受官方支持了,应该尽早升级。

安装libmysqlclient-dev Sudo apt-get install python-dev sudo apt-get install MySQL-python

注意你也应该安装python-dev,像MySQL-python这样的包是从源代码编译的。pythonx。X-dev包包含针对python进行链接所需的头文件。为什么在Kubuntu 12.04中安装numpy需要python-dev

实际误差是

gcc ... -I/usr/include/python2.7 ...

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

如果你不能安装python-dev或python-devel包,你可以从http://hg.python.org/下载所需版本的python源文件,并将头文件放在适当的文件夹中进行包含

在红帽上,我不得不这么做

sudo yum install mysql-devel gcc gcc-devel python-devel
sudo easy_install mysql-python

然后就成功了。

类型:

$ sudo apt-get install python-dev
$ venv/bin/pip install MySQL-python

这将解决这个问题。