python库支持arm_移植Python至ARM(支持import sqlite,datetime) 续

但是后来遗留了一个问题,就是import sqlite3失败。这篇博客就讲讲如何交叉编译产生的python可以成功找到sqlite3

附件:求毕业贡献给大家的文件

step 1:交叉编译SQLite3

1.1下载SQLite3(附件有)

1.2 解压

tar zxf sqlite-amalgamation-3.6.16.tar.gz

1.3 切换路径

cd sqlite-3.6.16/

1.4 生成Makefile等必要文件(注意:求毕业的交叉编译器为:arm-xilinx-linux-gnueabi-gcc,以下语句修改成你自己的编译器名去掉“-gcc”即可)

./configure --host=arm-xilinx-linux-gnueabi --prefix=./install_python--enable-shared --disable-readline --disable-dynamic-extensions

1.5 1.4中生成了Makefile文件,只需Make即可

make

1.6 安装到./install_python

make install

此时,在./install_python目录下有:bin include lib三个文件夹,具体功能求毕业就不废话了。

step 2:编译sqlite3至python

先请读者打开上篇博客,并找到第13步

2.1 切换到Python-2.7.3目录下:

cd /Python-2.7.3

2.2 修改setup.py

vi setup.py

找到与sqlite相关的内容:

2.2.1   在控制模式下输入 :/sqlite

2.2.2    回车

2.2.3    直接跳到1024行,然后按字母n (或者上下键)找到如图所示位置:

读者可以阅读下红线部分源码:目的是为了找sqlite的头文件 include的路径

如果不是交叉编译器,就执行①部分代码

如果是交叉编译器,就执行②部分代码

显然,我们是交叉编译器,就会执行代码②:将上图内容修改成下图所示:(修改的方式有很多,下图只是其中一种)

即设置:本文1.6节中./install_python下include路径。

2.2.4    找到:

与2.2.3类似,修改成

注意:/home/hadoop/sqlite-3.6.16/install_python是求毕业的sqlite的安装路径,请读者修改成自己的即可

读者可以从上篇博客中的13步继续做。

step 3 :验证

从上篇博客1.7步开始:(此步在ARM板子上运行)

3.1 运行python

./python

import 常用的模块,没问题

import sqlite3出错:ImportError: libsqlite3.so.0: cannot open shared object file: No such file or directory

说找不到动态链接库,原因是:因为没有设置动态链接库的环境变量

将sqlite3 lib中的libsqlite3.so.0复制到_install_2.7.3/lib下。并设置环境变量

在shell终端运行:

export LD_LIBRARY_PATH=/nfs/_install_2.7.3/lib:$LD_LIBRARY_PATH

(注意:求毕业是通过ARM mount PC端nfs,在远程运行python

mount -t nfs 192.168.0.21:/nfs /nfs -o nolock

所以export LD_LIBRARY_PATH=/nfs/_install_2.7.3/lib:$LD_LIBRARY_PATH,

读者应该根据自己的情况自行设置)

再次运行:./python

结束语:其实此方法不仅限于移植SQLite3,移植其他模块方法是一致的。

转载请需注明出处

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值