回答

收藏

python移植

#开源分享 #开源分享 3854 人阅读 | 0 人回复 | 2019-07-16


1、此编译环境是,Ubuntu 14.04 交叉编译版本采用的是arm-linux-gnueabihf 4.7版本

2、mkdir ~/work

cd ~/work

下载代码后解压缩 tar xvf Python-3.4.3.tgz

3、编辑Modules/Setup文件,将其中需要集成的内部模块注释去掉

_csv,posix,errno,pwd,_sre,_codecs,_weakref,_functools,_operator,_collections,itertools,atexit,_stat,_locale,_io,zipimport,faulthandler,_tracemalloc,_symtable,array,cmath,math,_struct,time,_weakref,_random,_pickle,_datetime,_bisect,_heapq,_csv,_socket,_md5,_sha1,_sha256,_sha512,binascii,parser,_multibytecodec,_codecs_cn

首先要交叉编译zlib,如何编译可以参考google,再将libz.a , zconf.h , zlib.h拷贝到arm编译起的lib目录与include目录(此方法不合适,肯定有更合适的)

4、echo ac_cv_file__dev_ptmx=no > config.site

echo ac_cv_file__dev_ptc=no >> config.site

export CONFIG_SITE=config.site

./configure CC=arm-linux-gnueabihf-gcc CXX=arm-linux-gnueabihf-g++ AR=arm-linux-gnueabihf-ar RANLIB=arm-linux-gnueabihf-ranlib LDFLAGS=-lrt --host=arm-linux-gnueabihf --build=armv7 -disable-ipv6 --without-ensurepip --enable-loadable-sqlite-extensions --prefix=/home/xxxx/Python3.4/python34

make python


5、需要修改sudo chmod 660 /etc/sudoers

sudo vim.tiny /etc/sudoers

在Defaults路径下面增加交叉编译器的路径,原因是在编译时编译器会自动调用sudo sh命令,结果会提示无法找到arm-linux-gnueabihf-ranlib命令:

Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/sungrow/arm-linux-gnueabihf-4.7-20130415/bin"

6、运行安装命令

make install

7、打包将软件包拷贝到嵌入式目标板上解压缩

tar -jcvf python34.tar.bz2 python34

以下为目标板的控制台操作

cd ~/

wget -c

tar -xvf python34.tar.bz2

export PYTHONHOME=/home/xxxx/python34

export PYTHONPATH=/home/xxxx/python34/Lib

编译成功,已经在目标板上验证通过

资料来源于网络


关注下面的标签,发现更多相似文章
分享到:
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条