博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python3版本移植到ARM的通用方法(一键移植)
阅读量:2444 次
发布时间:2019-05-10

本文共 1722 字,大约阅读时间需要 5 分钟。

看了很多资料介绍如何将python移植到嵌入式设备当中,但总感觉杂乱五章,还移植不成功,但是经过我的多方摸索,成功的探索出了一条阳光大道,供各位网友借鉴参考。

我采用的方法可以成功移植python2.7以后的所有版本。

第一步:从官网下载源码.并把解压放在/opt

第二步:在 /Python-3.4.5目录下新建一键移植脚本,并执行 内容如下:(执行完会报错某某模块内没安装,这个不耽误,可以直接忽视)

#prepareecho "prepare stage"arm_install=/opt/arm_pythonarm_build=`pwd`/arm_buildmkdir $arm_buildmkdir $arm_installcd `pwd`#arm comfigureecho "arm confiure stage"cd $arm_buildecho ac_cv_file__dev_ptmx=yes > config.siteecho ac_cv_file__dev_ptc=yes >> config.siteexport CONFIG_SITE=config.site../configure --host=arm-none-linux-gnueabi --build=i686-linux-gnu --target=arm-none-linux-gnueabi --disable-ipv6 --prefix=$arm_install --enable-shared --silent #pc pgenecho "pc pgen stage"cd - ./configure --silentfor args in $@doif [ $args = "all" ];thenmake --silent && make install --silentbreakfidonemake Parser/pgen --silentcd -cp ../Parser/pgen Parser#change the pgen time,# or else the cross compile will replace this pc version pgen. important!!touch -t 12312359 Parser/pgen #makeecho "make stage"make python --silent && make -i install #make it smaller#arm-none-linux-gnueabi-strip -s $arm_install/bin/python3.3exit 0

第三步:执行完脚本后,会在/opt下生成arm_python目录,内容如下:

第四步:把arm_python文件夹复制到ARM开发板,编辑/etc/profile

在export PATH这一行后面添加:

:/arm_python/bin

在export LD_LIBRARY_PATH 添加

:/arm_python/lib

然后执行 source /etc/profile

这个时候就成功移植了

第五步:添加第三方模块

把你想要添加源码的第三方源码下载到虚拟机中,本文以mqtt为例,cd 到 源码目录

如果想要安装在虚拟机上只需要执行 python3 setup.py install 

默认安装的目录是 /usr/local/lib

我们改为python3 setup.py install  --prefix=/opt/arm_python

目的是将默认前缀/usr/local 改为/opt/arm_python

在执行这一步的时候可能会报错,报错提示do not support  .pth file之类的

原因是:python在安装模块的时候,会默认安装到搜索路径,因为我们这个路劲是自定义的,所以安装的时候觉得不合法,所以报错

解决方法:在终端执行 export PYTHONPATH=$PATHONPTH:/opt/arm_python/lib/python3.4/site_packages

 

你可能感兴趣的文章
运算符二进制_基本转换和二进制运算符
查看>>
SitePoint播客#121:在线社区圆桌会议第2部分
查看>>
pchart_用pChart绘制图表
查看>>
Git简介,第1部分
查看>>
微信 获取地理位置名称_使用地理名称的目标地理位置
查看>>
graph api_与Facebook Graph API集成
查看>>
本地应用程序_本地化PHP应用程序的“正确方法”,第4部分
查看>>
mfc单文档绘制世界坐标系_文档使世界运转
查看>>
防止跨站请求伪造(CSRF)
查看>>
科创板 云计算业务公司_云计算对您的业务意味着什么
查看>>
SitePoint播客#80:与澳大利亚团队的FullCodePress
查看>>
BigCommerce和Volusion:比较设置和移动
查看>>
使用codeigniter_使用CodeIgniter探索面向方面的编程,第2部分
查看>>
用Wufoo创建简单表单:开发人员的观点
查看>>
heroku_使用Heroku和Facebook SDK在云中构建您的应用
查看>>
SitePoint播客#145:Addy Osmani的Backbone.js基础
查看>>
Google发布Chrome 4.0
查看>>
将ip保存在txt文档中_将任何文件存储在Google文档中
查看>>
disconf apps_Google Apps Drop IE6支持
查看>>
使用Screenr创建截屏视频
查看>>