1. 交叉编译Python
CC=arm-linux-gcc CXX=arm-linux-g++ AR=arm-linux-ar RANLIB=arm-linux-ranlib ./configure --host=arm-linux --build=x86_64-linux-gnu --prefix=/root/tftpboot/Python-2.7.3
make HOSTPYTHON=./hostpython HOSTPGEN=./Parser/hostpgen BLDSHARED="arm-linux-gcc -shared" CROSS_COMPILE=arm-linux- CROSS_COMPILE_TARGET=yes HOSTARCH=arm-linux BUILDARCH=x86_64-linux-gnu
make install HOSTPYTHON=./hostpython BLDSHARED="arm-linux-gcc -shared" CROSS_COMPILE=arm-linux- CROSS_COMPILE_TARGET=yes prefix=/root/tftpboot/Python-2.7.3
2. PC与开发板文件传输
tftp: tftp -l path/to/filename -r filename -g 192.168.*.*
3. 文件拷贝
cp /your/path/bin/python2.7 /bin/python
or export PATH=/your/path/bin/:$PATH # OK210开发板会报错
拷贝serial、django等python库拷贝到/lib/python2.7/site-packages/目录下。
4. 设置Python相关环境变量
以Python2.7.x为例。
export PYTHONHOME=/your/path/
#export PYTHONPATH=$PYTHONHOME:$PYTHONHOME/lib/python2.7:$PYTHONHOME/lib:$PYTHONHOME/lib/python2.7/site-packages
#export PATH=$PATH:$PYTHONHOME:$PYTHONPATH
5. sqlite3
Building SQLLite and other dependancies
Thanks to Lothsahn’s 2.7.3 patch, it is now possible to build sqlite3, bz2, gz, ssl and ctypes. Lothsahn provides the following instructions:
To do the compilation, the dependencies must be in the include and lib folder one path up from the python install. For example:
/include /lib
1. 按照上面Paul Gibson给的Cross Compiling Python for Embedded Linux, 但是import sqlite3会报错,原因暂不明。
试了一些解决办法,尝试未果,可能是lib_dir路径问题:
Removing other search paths from the setup.py, but the one i had the ARM compiled library in, made it work. 测试也未通过。
参考:
1. cross compile python, busybox, flex, bash and so on, ARM cross-compiling howto
2. 网上一个给力的例子,python-2.6.6:
附:
用strip处理过后,将去掉其中的调试信息,执行文件大小也将小很多。命令如下:
# arm-linux-strip file
其中file是用arm-liunux-gcc编译生成的二进制文件。
./configure --host=arm-linux CC=arm-linux-gcc AR=arm-linux-ar STRIP=arm-linux-strip RANLIB=arm-linux-ranlib
sqlite3的交叉编译
# CC=arm-linux-gcc ./configure --prefix=/your/path/sqlite-3.7.14 --host=arm-linux --disable-tcl
#make && make install
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。