您的位置:首页 > 运维架构 > Linux

Linux环境安装MySQL-python-1.2.3涉及到的问题

2014-04-22 12:06 801 查看
1、下载mysql-python

官网地址:http://sourceforge.net/projects/mysql-python/



下载到服务器解压wgethttp://sourceforge.net/projects/mysql-python/files/mysql-python/1.2.3/MySQL-python-1.2.3.tar.gz/download,tar -zxvf MySQL-python-1.2.3.tar.gz进入MySQL-python-1.2.3,运行python setup.py build 有可能会出现:



提示找不到mysql_config,这时你可以使用find / -name mysql_config暂时我只发现用源码安装的mysql才有这个文件,接下来我假使已经具备了这个文件,如果你安装的时候没有发现这个文件的话经过我的搜索结果有下面的解决方案,但是本人没有进行尝试。



到了这步假使已经找到mysql_config文件了,在MySQL-python-1.2.3目录下运行python setup.py build有出现这样的情况:



有提示可以知道缺少setuptools这时可以在网上下载一个setuptools的包来安装照着你搜索到的教程进行操作,我这里下载的是setuptools-3.4.4.tar.gz这个版本。

解压进入setuptools-3.4.4文件夹下面运行命令:python setup.py build 如果没有提示什么错误就在运行:python setup.py install 没有提示错误就进行下一步如果有提示什么插件没安装就进行安装比如django及numpy就如setuptools自动安装,执行命令easy_install django和numpy 如果执行easy_install命令的时候提示没有这个命令,你可以执行find / -name easy_install 看看存在在哪里然后使用软链接或者复制到/usr/bin目录下。

2、上面把setuptools安装完成,现在回到MySQL-python-1.2.3下再次执行python setup.py build发现出现:



发现缺少python-dev组件,只要在linux运行yum install python-dev即可,然后再次运行python setup.py build 以及python setup.py install发现没什么错误





3、在命令行执行运行python进入python命令行,输入import MySQLdb 出现:



发现没有找到libmysqlclient.so.18这个文件,在linux里面查找看看那里存在这个文件find / -name  libmysqlclient.so.18然后弄个连接把 libmysqlclient.so.18放到 /usr/lib64/里

然后重复上面的操作:



发现成功了!

项目是一个例子:

#!/usr/bin/python

# -*- coding: utf-8 -*-

#mysqldb

import time, MySQLdb

#连接

conn=MySQLdb.connect(host="127.0.0.1",user="veegao",passwd="veegaotest",db="test",charset="utf8")

cursor = conn.cursor()

#写入

sql = "insert into user(name,created) values(%s,%s)"

param = ("aaa",int(time.time()))

n = cursor.execute(sql,param)

print n

#更新

sql = "update user set name=%s where id=3"

param = ("bbb")

n = cursor.execute(sql,param)

print n

#查询

n = cursor.execute("select * from user")

for row in cursor.fetchall():

   for r in row:

     print r

#删除

sql = "delete from user where name=%s"

param =("cccc")

n = cursor.execute(sql,param)

print n

cursor.close()

#关闭

conn.close() 

最终测试成功!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息