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


当前回答

对于Alpine Linux:

添加mariadb-dev mariadb-client mariadb-libs

MariaDB是MySQL的替代品,并在Alpine 3.2成为新标准。参见https://bugs.alpinelinux.org/issues/4264

其他回答

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

这对我来说很管用:

yum install mariadb-devel
pip install mysqlclient

步骤1:-安装Python3和Python3-dev

sudo apt-get install python3 python3-dev

步骤2:-安装Python和Mysql连接器

sudo apt-get install libmysqlclient-dev

步骤3:-安装python mysql客户端

sudo apt-get install mysqlclient

这将解决你的问题

mysql -python包正在使用mysql_config命令来了解主机上的mysql配置。您的主机没有mysql_config命令。

来自dev.mysql.com的MySQL开发库包(MySQL-dev -xxx)提供了该命令和MySQL-python包所需的库。MySQL-devel包可以在下载社区服务器区找到。MySQL开发库包名称以MySQL-devel开头,根据MySQL版本和linux平台的不同而有所不同(例如MySQL- develop -5.5.24-1.linux2.6.x86_64.rpm)。

注意,您不需要安装mysql服务器。

在MacOS (OS/X) Catalina上,我发现我需要这样做:

 export PATH=$PATH:/usr/local/bin/:/usr/local/mysql-5.7.16-osx10.11-x86_64/bin/

在我的电脑上,mysql命令在/usr/local/bin(来自标准MacOS安装程序,而不是“brew”)。