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


当前回答

Debian 11安装libmariadb-dev-compat为pip install mysqlclient提供mysql_config二进制文件

其他回答

(针对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。

同样,我得到了同样的问题 我通过以下步骤解决了这个问题: 首先运行这个命令

sudo apt-get install libmysqlclient-dev

然后安装

pip install mysqlclient==2.1.0

这对我来说很管用

我认为,下面的行可以在终端上执行

 sudo ln -s /usr/local/zend/mysql/bin/mysql_config /usr/sbin/

mysql_config目录用于MacOSx上的zend服务器。你可以在linux上这样做

sudo ln -s /usr/local/mysql/bin/mysql_config /usr/sbin/

这是默认的linux mysql目录。

对于macOS Mojave,需要额外的配置,为了让编译器找到openssl,您可能需要设置:

export LDFLAGS="-L/usr/local/opt/openssl/lib"
export CPPFLAGS="-I/usr/local/opt/openssl/include"

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