mac os 下安装 mysql-python

2012年6月20日 1 条评论

python中如果需要访问mysql数据库,需要额外安装第三方的库,比较流行的是库是MySQL-python,可以到http://sourceforge.net/projects/mysql-python/下载源代码。解压下载的tar.gz文件,执行如下操作即可完成安装:

python setup.py build  
python setup.py install

注意:如果mysql_config(MYSQL_HOME/bin)文件没有位于系统path下,那么需要更改site.cfg文件,在里面指定mysql_config的完整路径。

不出意外,如果你在终端中运行python,导入MySQLdb时,你会收到一个错误,提示中含有“Library not loaded: libmysqlclient.18.dylib”,错误的原因是刚编译安装的lib放在MYSQL_HOME/lib下,终端找不到此位置,解决的方法是可以做一个软链接链接到/usr/lib下,例如:

ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/

另外如果使用eclipse的pydev插件,当需要用到MySQLdb库时,需要在Libraries中指定刚安装后的egg文件的路径,该路径在安装时会有提示,例如我的按照位置为:/Library/Python/2.7/site-packages/MySQL_python-1.2.3-py2.7-macosx-10.7-intel.egg 。

python 中强制转换long型为int型

2012年2月16日 没有评论

python的int型最大值和系统有关,32位和64位系统看到的结果是不一样,分别为2的31次方减1和2的63次方减1,可以通过sys.maxint查看此值。

python2.4版本以后,如果int的值超出范围不会溢出,而是内部转换为long,找了很久似乎没有从long型强制转换成int,这里所说的int取值范围是和java里一致,即用四个字节表示。代码如下:

def longToInt(value):
	if value > 2147483647 :
		return (value & (2 ** 31 - 1))
	else :
		return value

通过测试,在32位和64位上运算结果一致,另外2 ** 31 – 1换成常量2147483647对性能有微小的提升。

分类: Python 标签:

centos中安装PyMongo库

2012年2月15日 没有评论

PyMongo库提供了python操作mongodb的接口,如果要用python来操作mongodb,就必须安装PyMongo。安装有很多方法,这里介绍两种。

源码安装:

PyMongo的源码存放在git库中,可以使用git下载到本地,git的安装参照:http://www.netingcn.com/centos-git.html,安装命令如下:

git clone git://github.com/mongodb/mongo-python-driver.git pymongo
cd pymongo/
python setup.py install

使用easy_install安装:

easy_install是一个工具,不是系统自带,需要安装,它的作用类似于Php中的pear,或者Ruby中的gem,或者Perl中的cpan。安装命令如下:

wget -q http://peak.telecommunity.com/dist/ez_setup.py
python ez_setup.py

使用安装PyMongo命令为:

easy_install pymongo
分类: Python 标签: ,

无觅相关文章插件,快速提升流量