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