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


当前回答

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

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

其他回答

在我的Fedora 23机器上,我必须运行以下程序:

sudo dnf install mysql-devel

当我试图安装mysql-python时,我得到了同样的错误。

这就是我解决它的方法。

sudo PATH=/usr/local/mysql/bin/:$PATH pip install mysql-python

问题是安装程序无法在默认路径中找到mysql_config。现在可以了。而且奏效了。

 15 warnings generated.
    clang -bundle -undefined dynamic_lookup -Wl,-F. build/temp.macosx-10.8-intel-2.7/_mysql.o -L/usr/local/mysql/lib -lmysqlclient_r -lz -lm -lmygcc -o build/lib.macosx-10.8-intel-2.7/_mysql.so -arch x86_64

Successfully installed mysql-python
Cleaning up...

希望这能有所帮助。

谢谢。

This method is only for those who know that Mysql is installed but still mysql_config can't be find. This happens if python install can't find mysql_config in your system path, which mostly happens if you have done the installation via .dmg Mac Package or installed at some custom path. The easiest and documented way by MySqlDB is to change the site.cfg. Find the mysql_config which is probably in /usr/local/mysql/bin/ and change the variable namely mysql_config just like below and run the installation again. Don't forget to un-comment it by removing "#"

以下更改

mysql_config = /usr/local/bin/mysql_config

to

mysql_config = /usr/local/ mysql_bin /mysql_config"

这取决于系统中的路径。

顺便说一下,我在更改site.cfg后使用python安装

sudo /System/Library/Frameworks/ python .framework/Versions/2.7/bin/python setup.py install

我遇到了同样的问题,只是将*mysql_config*所在的路径添加到环境变量path中,它为我工作。

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

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