免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3355 | 回复: 4
打印 上一主题 下一主题

pysqlite for ARM [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-03-01 17:55 |只看该作者 |倒序浏览
今天在俺的宝贝ARM板上跑起了pysqlite

刚好有个数据库倍份的程序要写
就用python啦
庆祝一下

论坛徽章:
0
2 [报告]
发表于 2006-03-02 09:38 |只看该作者
恭喜!

有心得别忘了分享啊,呵呵

论坛徽章:
0
3 [报告]
发表于 2006-03-02 16:41 |只看该作者
没太多心得
一旦跑起来程序就很好写了
垃圾程序不在这里献丑了

移植其实很简单
首先要确保sqlite已经移植到ARM板上
这个移植比较简单
我用的是sqlite3 + arm-linux-gcc2.95.3
比较顺利的就编译通过

pysqlite的移植我也没做完全
因为在X86的机器上pysqlite是以一个.egg的形式安装到python目录下的
而我不会使用.egg方式安装
所以就用了最土的办法
办法如下:
把x86的pysqlite-xxxxx-linux.egg拷贝一份
cp pysqlite-xxxxx-linux.egg /tmp/yyy.zip
然后解压缩
cd /tmp ; unzip yyy.zip
我们需要的是里头的pysalite2目录
这个目录里是.py文件和一个_sqpite.so
我们只需要把_sqlite.so文件替换成ARM的动态库就可以了
然后我们下载pysqlite尝试编译出_sqlit.so
编译办法和上次的移植python差不多
不过这次我学聪明了写了个Makefile编译
大约有十几个文件
参考x86的编译指令就可以了
编译命令和参数根据arm-linux-gcc做一点修改就可以了
会在linux下写C程序的人都能搞定
编译完产生的_sqlite.so就是我们需要的了
用它替换掉刚才pysqlite2下的同名文件

最后把pysqlite2拷贝到ARM板上
我的目录是这样
mv pysqlite2 /usr/lib/python24/lib-dynload/
尽情pysqlite吧


估计不会有人和我有一样的需求
写了也没人看

不过我很高兴有权在产品里使用python
比较搞笑的是python大约有10M
而程序却只有1K

论坛徽章:
0
4 [报告]
发表于 2006-03-02 17:02 |只看该作者
呵呵,对arm编程不了解啊。
lz应该写篇文章让俺们入入门

论坛徽章:
0
5 [报告]
发表于 2006-03-02 18:13 |只看该作者
我也没入门
还在吃以前x86的老本


顺便说一个写pysqlite要注意的地方
insert/update操作需要commit
这个和C语言操作sqlite不一样
commit不要太频繁
最好等所有的操作做完了一起commit
不然效率很低
比如我一开始写的程序是这样

  1. for i in data:
  2.     cur.execute('insert into t1 values(?);', i)
  3.     con.commit()
复制代码

跑这段需要20秒

后来改成这样

  1. for i in data:
  2.     cur.execute('insert into t1 values(?);', i)
  3. con.commit()
复制代码

就只需要2秒了

呵呵
估计写过数据库程序的人都知道
就俺不知道
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP