安装mysqldb python界面时找不到mysql_config

我想获得一个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?

mySQLdb是一个用于mysql的python界面,但它不是mysql本身。 显然mySQLdb需要命令“mysql_config”,所以你需要先安装。

你能否确认你是否通过从shell运行“mysql”来安装mysql本身? 这应该给你一个“mysql:command not found”以外的响应。

你正在使用哪个Linux发行版? Mysql是为大多数Linux发行版预先打包的。 例如,对于debian / ubuntu,安装mysql就像

 sudo apt-get install mysql-server 

mysql-config是在一个不同的软件包,可以安装(再次,假设debian / Ubuntu的):

 sudo apt-get install libmysqlclient-dev 

如果你使用的是mariadb,则replace为mysql,然后运行

 sudo apt-get install libmariadbclient-dev 

我在Ubuntu 12.04上安装了python-mysql

 pip install mysql-python 

首先我有同样的问题:

 Not Found "mysql_config" 

这对我有效

 $ sudo apt-get install libmysqlclient-dev 

然后我有这个问题:

 ... _mysql.c:29:20: error fatal: Python.h: No existe el archivo o el directorio compilación terminada. error: command 'gcc' failed with exit status 1 

然后我尝试着

 apt-get install python-dev 

然后我很高兴:)

 pip install mysql-python Installing collected packages: mysql-python Running setup.py install for mysql-python building '_mysql' extension gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -Dversion_info=(1,2,4,'beta',4) -D__version__=1.2.4b4 -I/usr/include/mysql -I/usr/include/python2.7 -c _mysql.c -o build/temp.linux-x86_64-2.7/_mysql.o -DBIG_JOINS=1 -fno-strict-aliasing -g In file included from _mysql.c:44:0: /usr/include/mysql/my_config.h:422:0: aviso: se redefinió "HAVE_WCSCOLL" [activado por defecto] /usr/include/python2.7/pyconfig.h:890:0: nota: esta es la ubicación de la definición previa gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro build/temp.linux-x86_64-2.7/_mysql.o -L/usr/lib/x86_64-linux-gnu -lmysqlclient_r -lpthread -lz -lm -lrt -ldl -o build/lib.linux-x86_64-2.7/_mysql.so Successfully installed mysql-python Cleaning up... 

下面在Ubuntu 12.04 LTS上为我工作:

 apt-get install libmysqlclient-dev python-dev 

尽pipe它工作,我仍然继续做下面的事情:

 export PATH=$PATH:/usr/local/mysql/bin/ 

我试图安装mysql-python时遇到同样的错误。

这是我如何解决它。

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

问题是安装程序在默认path中找不到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... 

希望这可以帮助。

谢谢。

在红帽我不得不这样做

 sudo yum install mysql-devel gcc gcc-devel python-devel sudo easy_install mysql-python 

然后它的工作。

我通过以下步骤解决了这个问题:

 sudo apt-get install libmysqlclient-dev sudo apt-get install python-dev sudo python setup.py install 

命令(mysql也)mPATH可能会丢失。

export PATH=$PATH:/usr/local/mysql/bin/

我通过安装libmysqlclient来解决它:

 sudo apt-get install libmysqlclient16-dev 

MySQL-python软件包使用mysql_config命令来了解主机上的mysqlconfiguration。 您的主机没有mysql_config命令。

dev.mysql.com中的MySQL开发库软件包(MySQL-devel-xxx)提供了这个命令和MySQL-python软件包所需的库。 MySQL-devel软件包位于下载社区服务器区域。 MySQL开发库包名称以MySQL-devel开头,并根据MySQL版本和Linux平台(例如,MySQL-devel-5.5.24-1.linux2.6.x86_64.rpm)而变化。

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

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

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

您需要安装python-dev软件包:

 sudo apt-get install python-dev 

对于Alpine Linux:

$ apk add mariadb-dev mariadb-client mariadb-libs

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

此方法仅适用于知道Mysql已安装,但仍无法findmysql_config的用户。 如果python安装在你的系统path中找不到mysql_config,这种情况就会发生,如果你已经通过.dmg Mac Package安装完成安装,或者安装在某个自定义path中,这种情况通常会发生。 MySqlDB最简单和有说明的方法是更改site.cfg 。 find可能位于/ usr / local / mysql / bin /中的 mysql_config ,并像下面那样更改variables,即mysql_config ,然后再次运行安装。 不要忘记取消注释“#”

更改下面的行

“#mysql_config = / usr / local / bin / mysql_config”

“mysql_config = / usr / local / mysql / bin / mysql_config”

取决于系统中的path。

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

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

我有这个问题,并解决如果通过添加一个符号链接到mysql_config

我用自制软件安装了mysql,在输出中看到了这个。

 Error: The `brew link` step did not complete successfully 

取决于你如何得到mysql它将在不同的地方。 在我的情况下/usr/local/Cellar/mysql
一旦你知道它在哪里,你应该能够一个符号链接到python正在寻找它的地方。 /usr/local/mysql

这对我有效。

 ln -s /usr/local/Cellar/mysql/<< VERSION >>/bin/mysql_config /usr/local/mysql/bin/mysql_config 

sudo apt-get install python-mysqldb

Python 2.5? 听起来就像你使用的是一个非常老的Ubuntu服务器版本(Hardy 8.04?) – 请确认服务器使用哪个Linux版本。

在Ubuntu的包数据库上searchpython-mysql

一些额外的信息:

从mysql-python的自述文件 –

Red Hat Linux ………….

MySQL-python预先打包在Red Hat Linux 7.x和更新的版本中。 这包括Fedora Core和Red Hat Enterprise Linux。 您也可以按照上面所述构build自己的RPM包。

Debian GNU / Linux …………….

打包为python-mysqldb _ ::

 # apt-get install python-mysqldb 

或者使用Synaptic。

.. _ python-mysqldb : http : python-mysqldb

Ubuntu ……

和Debian一样。

脚注:如果你确实使用的是Ubuntu 10.04之前的服务器版本,那么你已经没有官方的支持,应该尽快升级。

我遇到了同样的问题,只是将* mysql_config *所在的path添加到环境variablesPATH中,并且对我有用。

sudo apt-get build-dep python-mysqldb将安装所有的依赖从PIP / easy_install生成包

由于实际的错误是

 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源代码版本,并将头文件放在适当的文件夹中;

只需input:

 $ sudo apt-get install python-dev $ venv/bin/pip install MySQL-python 

这将解决这个问题。

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

 sudo dnf install mysql-devel 

sudo apt-get install 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