myzr1 发表于 2019-7-16 15:20:03

python移植


1、此编译环境是,Ubuntu 14.04 交叉编译版本采用的是arm-linux-gnueabihf 4.7版本2、mkdir ~/workcd ~/work下载代码后解压缩 tar xvf Python-3.4.3.tgz3、编辑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.siteecho ac_cv_file__dev_ptc=no >> config.siteexport 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/python34make 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 install7、打包将软件包拷贝到嵌入式目标板上解压缩tar -jcvf python34.tar.bz2 python34以下为目标板的控制台操作cd ~/wget -c tar -xvf python34.tar.bz2export PYTHONHOME=/home/xxxx/python34export PYTHONPATH=/home/xxxx/python34/Lib编译成功,已经在目标板上验证通过资料来源于网络

页: [1]
查看完整版本: python移植