Python 3.4.3 移植到Arm平台的步骤

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

找了好多资料都没有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库

Python 3.4.3 移植到Arm平台的步骤_第1张图片

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

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

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

转载于:https://my.oschina.net/OkamiLiu/blog/530911

你可能感兴趣的:(Python 3.4.3 移植到Arm平台的步骤)