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


当前回答

您需要安装python-dev包:

sudo apt-get install python-dev

其他回答

python 3.5.2 +任何未来版本

Sudo apt-get install libmysqlclient-dev python-dev

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

 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目录。

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

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

sudo apt-get install default-libmysqlclient-dev

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

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

安装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