[个人原创]实践Ok之Python下的Mysql连接模块安装和Linux下通过python 来连接Mysql简单示例,python的Json输出和Memcache模块安装等

jackxiang 2011-1-22 10:40 | |
(1)pyhton shell下导入MySQLdb失败。
http://pypi.python.org/pypi/MySQL-python/#downloads
(2)下载解压MySQL-python。
http://pypi.python.org/packages/source/M/MySQL-python/MySQL-python-1.2.3.tar.gz#md5=215eddb6d853f6f4be5b4afc4154292f
(3)build时提示缺少setuptools。
root@192.168.1.104:~/software/python/MySQL-python-1.2.3# python setup.py
Traceback (most recent call last):
  File "setup.py", line 5, in <module>
    from setuptools import setup, Extension
ImportError: No module named setuptools

(4)下载安装setuptools。
http://pypi.python.org/pypi/setuptools#downloads 选自己Python对应的版本。
http://pypi.python.org/packages/2.6/s/setuptools/setuptools-0.6c11-py2.6.egg#md5=bfa92100bd772d5a213eedd356d64086
sh setuptools-0.6c11-py2.6.egg

root@192.168.1.104:~/software/python# python
Python 2.6.6 (r266:84292, Jun 18 2012, 14:10:23)
[GCC 4.4.6 20110731 (Red Hat 4.4.6-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import setuptools

上面没有报错说明安装成功了的。
(5)安装 mysql-devel 及其他必要的库
yum install mysql mysql-devel

(6)build mysqldb成功。
cd MySQL-python-1.2.3
/MySQL-python-1.2.3# python setup.py build
实践出现:
在包含自 _mysql.c:29 的文件中:
pymemcompat.h:10:20: 错误:Python.h:没有那个文件或目录

继续执行python setup.py install,可能出现以下错误:
           ======> pymemcompat.h:10:20: 致命错误:Python.h:没有那个文件或目录 编译中断。
          出现这个问题的原因是,系统中的python是自带的,而没有安装python的开发包并没有安装,所以在shell下执行如下命令:
点击(此处)折叠或打开
yum install python-devel
Installed size: 454 k
Is this ok [y/N]: y
Installed:
  python-devel.i686 0:2.6.6-29.el6_2.2  Complete!

  再次:
python setup.py build
running build
running build_py
copying MySQLdb/release.py -> build/lib.linux-i686-2.6/MySQLdb
running build_ext

编辑 site.cfg ,把 mysql_config 那一行取消注释,并改为:
mysql_config = /usr/lib64/mysql/mysql_config
python setup.py build
python setup.py install

安装:python setup.py install
...
Finished processing dependencies for MySQL-python==1.2.3


安装结束后,
打开 python2.6 shell, 输入
import MySQLdb   (注意:MySQLdb中的y是小写)
如果没够报错就说明安装成功了。

=================================================
示例程序:
首先,确定python-mysql是否已经安装了:
rpm包查看方法:
linux-Jack-nb4:/home/jackxiang/python # rpm -qa|grep python-mysql
python-mysql-1.2.0-17.2
说明系统已经有Python和mysql连接的包了。
如没有该包,需要通过rpm或者包来安装,可能较为麻烦,最好是在系统安装的时候就选择上该rpm包,这样做就很方便。
其次,上Python代码:


import MySQLdb
import MySQLdb.cursors
db = MySQLdb.connect(host = 'localhost', user = 'root', passwd = '123456', db = 'mysql',cursorclass = MySQLdb.cursors.DictCursor)
cursor = db.cursor()
cursor.execute('select * from user')
rs = cursor.fetchall()
print rs


最后,运行脚本:
python python.py                                                  
({'Drop_priv': 'Y', 'Execute_priv': 'Y', 'Create_routine_priv': 'Y', 'Repl_client_priv': 'Y', 'Create_user_priv': 'Y', 'Create_priv': 'Y', 'References_priv': 'Y', 'max_user_connections': 0L, 'Shutdown_priv': 'Y', 'Grant_priv': 'Y', 'max_updates': 0L, 'max。。。。。

体会到Python很简单,很强大吧,呵呵


ython的memcache和json模块:
一般都是:python setup.py build  
python setup.py install
Python的Memcache扩展:
ftp://ftp.tummy.com/pub/python-memcached/python-memcached-latest.tar.gz
/python-memcached-1.48# python setup.py  build  
python-memcached-1.48# python setup.py  install

import memcache, import cjson。

作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:http://jackxiang.com/post/3981/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!


最后编辑: jackxiang 编辑于2017-9-29 14:27
评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]