python3.4交叉编译与移植
2015-02-26 20:32
176 查看
学习Python已经有些念头,不过一直都是在PC上面编程,现在正好有项目需要在ARM中使用Pyhon,可以将Python发扬光大。以下记录交叉编译与移植的具体步骤。
首先在https://www.python.org下载Pyhon3.4.3的源码
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 ftp://x.x.x.x/python34.tar.bz2
tar -xvf python34.tar.bz2
export PYTHONHOME=/home/xxxx/python34
export PYTHONPATH=/home/xxxx/python34/Lib
编译成功,已经在目标板上验证通过
首先在https://www.python.org下载Pyhon3.4.3的源码
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 ftp://x.x.x.x/python34.tar.bz2
tar -xvf python34.tar.bz2
export PYTHONHOME=/home/xxxx/python34
export PYTHONPATH=/home/xxxx/python34/Lib
编译成功,已经在目标板上验证通过
相关文章推荐
- Python交叉编译和移植
- arm-linux-gcc-4.4.3交叉编译python2.7.3并移植到ARM
- Python交叉编译和移植
- ubuntu14.04交叉编译移植python2.7.3
- 交叉编译Python3.6.2,使用海思arm-hisiv200-linux-gcc,移植到arm开发板上
- QTE移植成功后的交叉编译
- minicom:交叉编译、移植到arm
- Fedora8上交叉编译qtopia4移植成功到s3c2410开发板
- QT/E的交叉编译环境的搭建和移植
- [转]qtopia移植:交叉编译qtopia-2.2.
- lrzsz工具移植-交叉编译
- Ubuntu下arm交叉编译环境的创建及基于s3c2410的linux2.6.22移植
- XScale交叉编译环境搭建及MPlayer移植
- linux 7z命令安装使用及其交叉编译移植到arm linux平台
- bluez蓝牙协议栈交叉编译移植教程(附带视频下载地址)
- Android系统移植1--创建ARM-Linux交叉编译环境
- Qt4.3.5-X11-交叉编译平台的搭建、移植详解
- Fedora8上交叉编译qtopia4移植成功到s3c2410开发板
- qtopia 4.2.3 移植 交叉编译记录&总结
- Readline-5.2交叉编译——fileman移植