Python的MySQL模块在2.6下的安装报错sh: mysql_config: command not found的解决办法

我就是个世界13年前服务器环境58
操作系统:Linux Cent OS 6.0
相关环境:Python 2.6.5 ; MySQL 5.5.19
安装版本:MySQL-python-1.2.3

MySQLdb是Python连接MySQL的模块,下面介绍一下源码方式安装MySQLdb:

    首先要下载:
    wget http://sourceforge.net/projects/mysql-python/files/latest/download?source=files

    解压:tar zxvf MySQL-python-1.2.3.tar.gz
    
    进入文件目录,运行以下命令:
    cd MySQL-python-1.2.3
    sudo python setup.py install
    
    安装完成,到你的python安装目录下的site-packages目录里检查以下文件是否存在,如果存在即代表安装成功了
    Linux:MySQL_python-1.2.3-py2.6-linux-i686.egg
    Mac OS X:MySQL_python-1.2.3c1-py2.6-macosx-10.4-x86_64.egg
    注:如果碰到mysql_config not found的问题,有两种方法解决:
    1)sudo ln -s /usr/local/mysql/bin/mysql_config /usr/local/bin/mysql_config
    将mysql_confi从你的安装目录链接到/usr/local/bin目录下,这样就可以在任意目录下访问了(也可以放到/usr/bin)
    2)编辑源码文件夹的site.cfg文件,去掉#mysql_config = /usr/local/bin/mysql_config前的注释#,修改后面的路径为你的mysql_config真正的目录就可以了。(如果不知道mysql_config在哪里,运行命令:whereis mysql_config)

    测试方法
    1)运行命令python进入python运行环境
    2)输入以下python代码进行测试

    import MySQLdb
    test=MySQLdb.connect(db='mydb',host='myhost',user='u',passwd='p')
    cur = test.cursor()
    cur.execute('show databases;')
    for data in cur.fetchall():
        print data

    3)如果你在屏幕上看到了你几个数据库的库名的输出代表你安装成功了
    
    可能碰到的问题
    1)问题:ImportError: libmysqlclient_r.so.16: cannot open shared object file: No such file or directory
    原因是python无法找到mysql目录下的libmysqlclient_r.so.16动态库,其实MySQLdb是调用mysql的c函数库.所以本机上首先得安装了mysql
    然后: export LD_LIBRARY_PATH=/usr/local/mysql/lib/mysql:$LD_LIBRARY_PATH
    并且将/usr/local/mysql5.1/lib/mysql 放入/etc/ld.so.conf中
    /etc/ld.so.conf改后内容为:
    include ld.so.conf.d/*.conf
    /usr/local/mysql5.1/lib/mysql
    最后重新再测试一下,就不会有上面的问题了


参考引用:http://www.sandzhang.com/blog/2010/04/06/install-mysql-python-mysqldb-in-v26/

相关文章

LuManager FTP不能登录,报错:530 Login authentication failed

LuManager 的Pure-ftpd一直不能登录,今天准备测试一下看!FlashFXP登录提示530 Login authentication failed的用户认证错误。我确信我在后台建立的FT...

WIN7+IIS7下动易 “Microsoft JET Database Engine 错误 '80004005' 未指定的错误 /Conn.asp,行 28"解决方法

之前本机测试动易都没出现此问题,今天忽然有这个报错:[code]Microsoft JET Database Engine 错误 '80004005' 未指定的错误 /Conn.a...

让Apache代理IIS,使得Apache和IIS共存于同一服务器,并根据主机名设置虚拟主机

让Apache代理IIS,使得Apache和IIS共存于同一服务器,并根据主机名设置虚拟主机让Apache代理IIS,Apache和IIS端口一定不能相同,Apache端口设置为80,IIS端口设置一...

用httpd.ini成功二级域名跳转子目录的方法

[b]目的:[/b]把 a.st-winthink.com  跳转到 www.st-winthink.com/a   [b]环境:[/b]win主机虚拟空间/或...

xampp1.7.3开放外网访问权限的设置

配置了XAMPP,但是外网好像访问不了,提示:Access forbidden设置后xampp的security的密码后,发现不能登录,出现以下错误:[code]Access forbiddenNew...

LuManager忘记mysql的root用户密码怎么办?

首先看你的LuManager是否还能运行, 如果运行正常,可以在/usr/local/LuManager/Conf/config.php设置里看到。。直接找回!如果LuManager不能运行,或者报错...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。