我试图让一个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?


当前回答

实际误差是

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源文件,并将头文件放在适当的文件夹中进行包含

其他回答

mySQLdb是mysql的python接口,但它不是mysql本身。显然mySQLdb需要'mysql_config'命令,所以你需要先安装它。

你能确认你是否安装了mysql本身,通过运行“mysql”从shell?这应该给你一个响应,而不是“mysql:命令未找到”。

你用的是哪个linux发行版?Mysql是为大多数linux发行版预先打包的。例如,对于debian / ubuntu,安装mysql非常简单

sudo apt-get install mysql-server

Mysql-config在一个不同的包中,可以从(同样,假设debian / ubuntu)安装:

sudo apt-get install libmysqlclient-dev

如果你使用的是mariadb,将mysql替换掉,然后运行

sudo apt-get install libmariadbclient-dev

参考: https://github.com/JudgeGirl/Judge-sender/issues/4#issuecomment-186542797

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来解决这个问题:

sudo apt-get install libmysqlclient16-dev

(针对Mac OS X)

我尝试了很多方法,但这组命令最终对我有用。

安装mysql 安装mysql 解除mysql链接 安装mysql-connector-c 将“mysql bin”文件夹添加到“PATH”目录下 导出路径= / usr /地方/地窖/ mysql / 8.0.11 / bin:美元的道路 mkdir /usr/local/Cellar/lib/ 创建符号链接 sudo ln -s /usr/local/Cellar/mysql/8.0.11/lib/libmysqlclient.21。dylib /usr/local/Cellar/lib/libmysqlclient.21.dylib 重新安装openssl(源代码) 最后,安装mysql-client LIBRARY_PATH=$LIBRARY_PATH:/usr/local/opt/openssl/lib/ pip install mysqlclient . sh

更新: 如果这行不通,@vinyll建议在第8步之前运行brew link mysql。