文档章节

Python 3.4.3 移植到Arm平台的步骤

刘大神
 刘大神
发布于 2015/11/16 14:44
字数 816
阅读 661
收藏 0

找了好多资料都没有py3.4的移植教程,无奈自己开始摸索,经过3天的研究终于把这个给研究明白了!下面是步骤:

      1.先去https://www.python.org/去下载3.4.3的源码

      2.解压源码

              我下载的是Python-3.4.3.tgz, 

            tar xvf Python-3.4.3.tgz

      3.进入解压目录之后,进行简单的设置,要不然会碰到编译错误:

            echo ac_cv_file__dev_ptmx=no >> config.site    
            echo ac_cv_file__dev_ptc=no >> config.site 
            export CONFIG_SITE=config.site  

       4.可以进行python的 configure了,不过一定要记住是在root权限下执行./configure:

            ./configure CC=arm-linux-gnueabihf-gcc-4.7.3 
             CXX=arm-linux-gnueabihf-g++ AR=arm-linux-gnueabuhf-ar RANLIB=arm-linuxgnueabihf-gcc-ranlib 

--host=arm-linux-gnueabihf --build=i686-linux --disable-ipv6

上面arm-linux-gnueabihf就是交叉编译器了,根据情况自行选择
5.编辑Makefile,在CONFIGURE_LDFLAGS后面添加 -s -lrt 两个选项,第一个是清除不必要的文件,第二个是去掉错误库连接的提示
6.最后  make python 就可以了.

上面的过程就是交叉编译的过程,完成后,会在当前目录生成一个 可执行的”python”文件 ,将这个文件和Lib目录复制到arm平台上面。设置好环境变量就可以使用了。

我是把把可执行文件python  放到 /bin里面, Lib文件夹放到/usr/bin/
指定环境变量 编辑/program/startup.sh 添加代码 export PYTHONPATH=/usr/bin/Lib

 

然后在命令行输出 python –V 就出现了版本号。

执行python命令时,发现可以正确显示版本号,不过无法进入命令行,提示缺少encodings,那是因为还没有把Python的Lib复制过来。所以,剩下只需要把要用到的标准库文件都复制过来就行了。

如果出现还是缺少文件的情况下, 就去安装好的linux python3.4版本 的/usr/lib/python3.4里面找复制过去就可以了

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

下面说说如何在嵌入式里面安装开发包:

     我用的盒子是一个裁剪的linux系统,用起来和linux是一样的(暂时未发现有什么不一样的地方),在里面安装pip 包管理器

 https://bootstrap.pypa.io/get-pip.py这是get-pip文件 ,用python 执行下这个文件 就会自动安装pip了(用火狐打开这个链接就可以直接下载这个文件了)

在安装get-pip的时候 可能会遇到一些错误,比如说你编译的python有些模块不存在,或者是缺少动态库!

下面就是我遇到的缺少zlib库

V~SYL_AOQQ9G3PY5}Y6~9]7 

这个只要交叉编译一下zlib的源码就可以了,下面是交叉编译的方式:

tar -zvcf zlib-master
cd zlib-master
export CC=arm-linux-gnueabihf-gcc-4.7.3
./configure --prefix=$PWD/_install   //这个选项是指定编译的文件路径
make 或者make install

装完这个libz库之后,我又遇到了这样的错误:

A}4PJQZTNKT_Y3OFZPF]%7A

这个只要把刚刚导入进去的libz.so.1删除掉,然后 在arm平台 用ln –s libz.so.x.y.z libz.so.1 重新生成一个软连接就可以了

在安装pip的时候  又碰到了缺少ssl库

VQC2A(]{$32H9NZQZA@WSFS

下面附上一个 arm平台  交叉编译的方法的链接:

http://www.cnblogs.com/weifuqin530/archive/2008/11/29/1343826.html

(以上安装pip管理工具理论如此,但本人尚未实验成功)

© 著作权归作者所有

刘大神
粉丝 8
博文 21
码字总数 18133
作品 0
朝阳
高级程序员
私信 提问
Python3版本移植到ARM的通用方法(一键移植)

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

shzwork
04/19
0
0
Arm-CPU-Linux下可执行文件cannot execute binary file

开发环境:x86 32-bit Linux-Ubuntu操作系统,利用Python和PyQt5写了一个界面软件,并利用Pyinstaller进行打包,生成可执行文件,成功运行。 运行环境:Zynq开发板,基于Arm-v7(32-bit)运行...

QingShanWa
04/06
0
0
2017 年 Python 使用情况报告,你用 2.x 还是 3.x?

纵观各大编程语言在 2017 年的发展情况,我们会发现 Python 的发展速度非常快。Semaphore 社区调查了 Python 在 Semaphore 的托管 CI 服务中构建应用程序的使用情况。 去年的调查结果显示,有...

达尔文
2017/10/20
5.7K
31
redhat7 安装163网络源

1、首先查看redhat 7.0系统本身所安装的那些yum 软件包: [root@linuxprobe ~]# rpm -qa | grep yumyum-utils-1.1.31-24.el7.noarchyum-langpacks-0.4.2-3.el7.noarchyum-metadata-parser-1......

angel_Beat
07/04
0
0
CentOS7安装Python3.4 ,让Python2和3共存

CentOS7安装Python3.4 ,让Python2和3共存 环境:CentOS7.1 需求:网络畅通 编译需要的一些包,酌情安装 下载解压并编译 国内源http://mirrors.sohu.com/python/3.4.3/Python-3.4.3.tgz 让库...

lalamina
2015/04/12
0
2

没有更多内容

加载失败,请刷新页面

加载更多

小白讲网络安全系列

注入攻击防护 XSS注入 SQL注入 命令注入 文件上传 文件解压缩 CSRF防护 对称加密 非对称加密 数字证书 数字签名 完整性校验 消息验证码 单向散列Hash函数 口令单向加密算法 审计日志 认证鉴权...

一刀
45分钟前
2
0
MYSQL 嵌套事务(SAVEPOINT) 与Spring 事务传播

摘要 savepoint 关键字可以实现嵌套事务。结合savepoint关键字,更方便理解spring的事务传播。 事务嵌套 初始化表脚本 drop table t;create table t(a int, primary key(a)); 开启事务 my...

liangxiao
47分钟前
3
0
Chrome OS 更新新版本可让Linux访问USB连接的Android设备

谷歌再次为Chrome OS带来了重大版本更新,使版本号达到了75。本次更新的一大亮点就是允许在Chrome OS上运行的Linux能够识别通过USB方式连接的Android设备,能够让用户使用Linux进行调试等等。...

linuxCool
昨天
13
0
聊聊feign的HystrixInvocationHandler

序 本文主要研究一下feign的HystrixInvocationHandler HystrixInvocationHandler feign-hystrix-10.2.3-sources.jar!/feign/hystrix/HystrixInvocationHandler.java final class HystrixInvo......

go4it
昨天
17
0
WPS 开启宏功能

前言 最近安装了个人版的WPS2019,使用Excel的宏功能时候发现不能使用了,网上下载了几个安装包都是比较旧的,不能使用。 找了个VB7.1的安装包,安装完了,重启WPS宏功能就可以使用了。 安装...

sharelocked
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部