准备工作:1.下载python-3.2.2源代码并安装到自己Ubuntu系统里
2.下载python-3.2.2对应的补丁Python-3.2.2-xcompile.patch
3.确定自己Ubuntu系统安装了交叉编译器,这里我选用的是arm-linux-gnueabi-gcc
下载好python源码包,找到在系统哪里。
第一步:解压python包 ------------------------------------------------------->tar zxvf Python-3.2.2.tgz
第二步:进入到python-3.2.2里----------------------------------------------->cd Python-3.2.2
第三步:运行配置文件 -----------------------------------------------------> ./configure
大约5秒时间
第四步:编译PC版python Parser/pgen---------------------------------> make python Parser/pgen
这个耗时1分钟左右
第五步:将生成的PC版移动到hostpython------------------------------> mv python hostpython
第六步:将生成的PC版解释器移动至Parser/hostpgen -------------> mv Parser/pgen Parser/hostpgen
第七步:清除不必要的文件 ------------------------------------------------> make distclean
打上补丁哦!!! patch -p1 < /home/xf/Python-3.2.2-xcompile.patch
第八步:设置交叉编译器 CC=arm-none-linux-gnueabi-gcc
第九步:设置C++交叉编译器 CXX=arm-none-linux-gnueabi-g++
第十步:设置AR AR=arm-none-linux-gnueabi-ar
第十一步:设置RANLIB RANLIB=arm-none-linux-gnueabi-ranlib
第十二步:生成符合交叉编译器makefile--------------------------> ./configure --host=arm-none-linux-gnueabi --prefix=/python make
第十三步:make HOSTPYTHON=./hostpythonHOSTPGEN=./Parser/hostpgen BLDSHARED="arm-none-linux-gnueabi-gcc -shared"CROSS_COMPILE=arm-none-linux-gnueabi- CROSS_COMPILE_TARGET=yes
第十四步:make install HOSTPYTHON=./hostpython BLDSHARED="arm-none-linux-gnueabi-gcc -shared" CROSS_COMPILE=arm-none-linux-gnueabi- CROSS_COMPILE_TARGET=yes prefix=/home/xf/Python/_install
到此我们就完成了PC端的操作,接下来就是嵌入式Linux端的操作了。。。。。。
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
第一步:将刚刚生成的_install文件夹压缩copy到arm板子上(不压缩的话直接拷贝涉及到文件权限问题,一个个弄太麻烦,直接压缩!)
第二步:解压--------unzip _install
第三步:ls _install 查看是不是有四文件夹:bin 、include、lib、share
图 a
第四步:进入到bin文件夹中----------------cd bin
图b
第五步:测试-----------------------------------./python3.2
图C
至此移植成功啦!!!