Python3版本移植到ARM的通用方法(一键移植)

2019-07-12 21:45发布

Python3版本移植到ARM的通用方法(一键移植)

2018年07月19日 09:53:28 牛奶还是纯的好 阅读数:933 看了很多资料介绍如何将python移植到嵌入式设备当中,但总感觉杂乱五章,还移植不成功,但是经过我的多方摸索,成功的探索出了一条阳光大道,供各位网友借鉴参考。 我采用的方法可以成功移植python2.7以后的所有版本。 第一步:从官网下载源码.并把解压放在/opt 第二步:在 /Python-3.4.5目录下新建一键移植脚本,并执行 内容如下:(执行完会报错某某模块内没安装,这个不耽误,可以直接忽视)  
  1. #prepare
  2. echo "prepare stage"
  3. arm_install=/opt/arm_python
  4. arm_build=`pwd`/arm_build
  5. mkdir $arm_build
  6. mkdir $arm_install
  7. cd `pwd`
  8. #arm comfigure
  9. echo "arm confiure stage"
  10. cd $arm_build
  11. echo ac_cv_file__dev_ptmx=yes > config.site
  12. echo ac_cv_file__dev_ptc=yes >> config.site
  13. export CONFIG_SITE=config.site
  14. ../configure --host=arm-none-linux-gnueabi --build=i686-linux-gnu --target=arm-none-linux-gnueabi --disable-ipv6 --prefix=$arm_install --enable-shared --silent
  15.  
  16. #pc pgen
  17. echo "pc pgen stage"
  18. cd -
  19. ./configure --silent
  20. for args in $@
  21. do
  22. if [ $args = "all" ];then
  23. make --silent && make install --silent
  24. break
  25. fi
  26. done
  27. make Parser/pgen --silent
  28. cd -
  29. cp ../Parser/pgen Parser
  30. #change the pgen time,
  31. # or else the cross compile will replace this pc version pgen. important!!
  32. touch -t 12312359 Parser/pgen
  33.  
  34. #make
  35. echo "make stage"
  36. make python --silent && make -i install
  37.  
  38. #make it smaller
  39. #arm-none-linux-gnueabi-strip -s $arm_install/bin/python3.3
  40. exit 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 到此,一切结束。如有问题联系邮件676354385@qq.com