嵌入式python2.7.13移植
来源:互联网 发布:淘宝手机模板免费下载 编辑:程序博客网 时间:2024/06/16 13:55
操作环境:
1、linux主机:Ubuntu14.04
2、嵌入式linux内核版本:3.14.26
3、嵌入式硬件:BeagleBone-Black,Cortex-A8内核
4、交叉编译工具: arm-linux-gnueabihf-gcc
步骤:
1、从官网下载python-2.7.13源码。
2、解压源码,进入python-2.7.13目录,先编译x86版,分别执行如下命令:
./configure make python Parser/pgen mv python hostpython mv Parser/pgen Parser/hostpgen make distclean
3、接下来开始编译ARM版本,值得注意的是需要先下载一个针对嵌入式编译的补丁文件:
Python-2.7.13-compile.patch.tar.gz
(这个补丁文件到底怎么来的还不清楚,肯定不是官网的,以后再分析)
解压缩补丁文件并给源码打补丁,进入源码目录,执行:
patch -p1 < ../Python-2.7.13-xcompile.patch
4、先建立一个文件夹用来存放编译出来的文件:
mkdir ../INSTALL
5、为了方便测试和编译,新建三个脚本文件并赋予执行权限,三个脚本文件分别为mk_conf.sh,
mk_make.sh,mk_install.sh,内容分别如下:
mk_conf.sh内容如下:
#!/bin/sh ./configure --host=arm-linux-gnueabihf --prefix=$PWD/../INSTALL \ --build=x86_64-linux-gnu \ --enable-ipv6 \ --enable-shared \ ac_cv_file__dev_ptmx="yes" \ ac_cv_file__dev_ptc="no"
mk_make.sh内容如下:
#!/bin/sh make HOSTPYTHON=./hostpython HOSTPGEN=./Parser/hostpgen \ BLDSHARED="arm-linux-gnueabihf-gcc -shared" \ CROSS_COMPLIE=arm-linux-gnueabihf- \ CROSS_COMPLIE_TARGET=yes \ HOSTARCH=arm-linux-gnueabihf \ BUILDARCH=x86_64-linux-gnu \ -j2
mk_install.sh内容如下:
#!/bin/sh make install HOSTPYTHON=./hostpython \ BLDSHARED="arm-linux-gnueabihf-gcc -shared" \ CROSS_COMPILE=arm-linux-gnueabihf- \ CROSS_COMPILE_TARGET=yes \ prefix=$PWD/../INSTALL
赋予三个脚本文件执行权限:
chmod +x mk_conf.sh mk_make.sh mk_install.sh
6、分别执行三个脚本文件:
./mk_conf.sh ./mk_make.sh ./mk_install.sh
在执行mk_install.sh时,如果出现如下错误:(第2部如果全编译的话不会出现下面的错误)
我的解决办法是在Makefile文件中找到并删除PYTHONPATH赋值部分,如下图:
删除PYTHONPATH赋值部分后的结果如下图:
之后再执行 :
./mk_install.sh就会在INSTALL文件中得到四个文件夹,将bin,include,lib内的文件分别复制到嵌入式系统中,
就完成了安装。
- 嵌入式python2.7.13移植
- 移植Python2.7到ARM-LINUX嵌入式平台
- 移植python2.7
- Python2.7.5移植
- Python2移植Python3
- python2.7.2+sleekxmpp arm 移植
- 嵌入式应用程序移植过程
- 嵌入式boa的移植
- 嵌入式Linux内核移植
- 嵌入式 移植DHCPClient
- 移植嵌入式浏览器
- 嵌入式GUI移植小结
- 嵌入式Linux移植步骤
- boa嵌入式移植
- 移植嵌入式浏览器
- 嵌入式软件的移植
- 嵌入式QT4.7移植
- 嵌入式Web服务器移植
- Linux命令笔记
- Stack的实现
- 挑战练习:评分(四)基于Android编程权威指南(第三版)
- Currency Issue
- 负载均衡
- 嵌入式python2.7.13移植
- 测试用客户程序
- Hadoop学习日志之HDFS的主从结构
- fiddler dns lookup for failed System.Net.Sockets.SocketException 请求的名称
- 利用python网络爬虫爬取赶集网数据
- 汉诺塔的移动函数
- 输入十个数 求出最大值
- 第一范式、第二范式、第三范式
- --Satoshi--大数据学习日志(2017.07.19)