专栏首页python3移植Python到arm linux系统

移植Python到arm linux系统

编译环境:ubuntu-12.0.4

编译器:gcc arm-arago-linux-gnueabi

Python版本:3.6.2

Python安装包文件名:Python-3.6.2.tgz

整个过程分为三大步骤:

1. 直接编译python,生成Python解释器

2. 交叉编译python

3. 复制可移植文件到arm文件系统

具体步骤:

1.将安装包复制到新建的文件目录下并解压

解压命令: tar –zxvf Python-3.6.2.tgz

2. 进入Python-3.6.2文件夹,执行:

./configure

3.编译python Pareser/pgen ,生成Python解释器:

make

4.在Python-3.6.2目录下新建mylib文件夹,用于存放生成的可移植文件:

命令:mkdir mylib

5.配置交叉编译:

·     CC为指定C交叉编译器,我的是arm-arago-linux-gnueabi-gcc

·     CXX为指定C++交叉编译器,我的是arm-arago-linux-gnueabi-g++

·     AR为ar工具,我的是arm-arago-linux-gnueabi-ar

·     RANLIB为ranlib工具,我的是arm-arago-linux-gnueabi-ranlib

·     Host为目标主机,我这里设置的是arm-arago-linux-gnueabi

·     Build为编译环境主机,我的是i386

·     Prefix为安装位置

配置命令:

CC=arm-arago-linux-gnueabi-gccCXX=arm-arago-linux-gnueabi-g++ AR=arm-arago-linux-gnueabi-arRANLIB=arm-arago-linux-gnueabi-ranlib ./configure--host=arm-arago-linux-gnueabi --build=i386 --disable-ipv6ac_cv_file__dev_ptmx=no ac_cv_file__dev_ptc=no --prefix=/home/forlinx/work/python/Python-3.6.2/mylib

6.编译

l HOSTPYTHON指定我们之前编译的X86版本的python文件

l HOSTPGEN指定我们之前编译的X86版本的pgen文件

编译命令:

make HOSTPYTHON=./python HOSTPGEN=./Parser/pgenBLDSHARED="arm-arago-linux-gnueabi-gcc -shared"CROSS_COMPILE=arm-arago-linux-gnueabi- CROSS_COMPILE_TARGET=yesHOSTARCH=arm-arago-linux-gnueabi BUILDARCH=i386

7.安装

安装命令:

make install HOSTPYTHON=./pythonBLDSHARED="arm-arago-linux-gnueabi-gcc -shared"CROSS_COMPILE=arm-arago-linux-gnueabi- CROSS_COMPILE_TARGET=yesprefix=/home/forlinx/work/python/Python-3.6.2/mylib

8.复制mylib目录下文件到arm文件系统

 最后会在prefix指定的目录下有新生成的文件和文件夹,主要文件夹是/bin,/include,/lib,/share。把他们都复制到目标机器的/usr目录下。最后在目标机上执行一下命令可以检查python环境是否完整。

9.重新编译arm文件系统,并烧录到开发板验证。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python将是人工智能时代的最佳编程语

    移动互联网取代PC互联网领跑在互联网时代的最前沿,Android和iOS一度成为移动互联网应用平台的两大霸主,成为移动开发者首选的两门技术,HTML5以其跨平台...

    py3study
  • Python开发者必备6个基本库

    译者注:无论你是想快速入手Python还是想为Python应用程序构建本地UI,亦或者对Python代码进行优化,本文列举的6个库,都有可能会帮到你。

    py3study
  • #4 编写第一个程序

    前面三节为Python程序的运行打下了坚实的基础,是骡子是马拉出来遛遛,所以从这节开始,将开始正式进入Python的编程环节,唯有不忘初心,才能方得始终!

    py3study
  • 移植python2.7.3到arm li

    http://blog.csdn.net/lz_obj/article/details/52620276

    py3study
  • 【5min+】为你的.NET应用进行一次全方位体检

    【五分钟的dotnet】是一个利用您的碎片化时间来学习和丰富.net知识的博文系列。它所包含了.net体系中可能会涉及到的方方面面,比如C#的小细节,Aspne...

    句幽
  • 【5min+】为你的.NET应用进行一次全方位体检

    【五分钟的dotnet】是一个利用您的碎片化时间来学习和丰富.net知识的博文系列。它所包含了.net体系中可能会涉及到的方方面面,比如C#的小细节,Aspne...

    句幽
  • 游戏中的『痛苦元素』

    getting over it with bennett foddy上线了。 原先我以为这个游戏大概不会有什么人去下载,毕竟在没上线之前就已经被『打完』了。 结...

    沙因Sign
  • 世界杯阵型之争的背后,国产开源项目百花争艳 | 码云周刊第 77 期

    码云Gitee
  • 小样邂逅单元测试后的反思

    本文首先从理论层面对单测进行理解,包括澄清自己对单测的误解以及解惑单测的意义(既然要开搞,必须要真正认同并系统认识它);接着结合自己的实际工作,阐述了单测是如何...

    腾讯移动品质中心TMQ
  • Gesture APIs-Furthering Windows Mobile 6.5 Touch Gesture Framework

        Windows mobile 6.5开发者工具包在6月初就已经面世了。它给广大技术爱好者带来的新特性包括Widgets和Gesture API。在Wid...

    ShiJiong

扫码关注云+社区

领取腾讯云代金券