Python3版本移植到ARM的通用方法(一键移植)

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

我采用的方法能够成功移植python2.7之后的全部版本。linux

第一步:从官网下载源码.并把解压放在/optpython2.7

第二步:在 /Python-3.4.5目录下新建一键移植脚本,并执行 内容以下:(执行完会报错某某模块内没安装,这个不耽误,能够直接忽视)ui

#prepare
echo "prepare stage"
arm_install=/opt/arm_python
arm_build=`pwd`/arm_build
mkdir $arm_build
mkdir $arm_install
cd `pwd`
#arm comfigure
echo "arm confiure stage"
cd $arm_build
echo ac_cv_file__dev_ptmx=yes > config.site
echo ac_cv_file__dev_ptc=yes >> config.site
export CONFIG_SITE=config.site
../configure --host=arm-none-linux-gnueabi --build=i686-linux-gnu --target=arm-none-linux-gnueabi --disable-ipv6 --prefix=$arm_install --enable-shared --silent
 
#pc pgen
echo "pc pgen stage"
cd - 
./configure --silent
for args in $@
do
if [ $args = "all" ];then
make --silent && make install --silent
break
fi
done
make Parser/pgen --silent
cd -
cp ../Parser/pgen Parser
#change the pgen time,
# or else the cross compile will replace this pc version pgen. important!!
touch -t 12312359 Parser/pgen
 
#make
echo "make stage"
make python --silent && make -i install
 
#make it smaller
#arm-none-linux-gnueabi-strip -s $arm_install/bin/python3.3
exit 0
第三步:执行完脚本后,会在/opt下生成arm_python目录,内容以下:this

第四步:把arm_python文件夹复制到ARM开发板,编辑/etc/profile.net

在export PATH这一行后面添加:blog

:/arm_python/binip

在export LD_LIBRARY_PATH 添加开发

:/arm_python/libget

而后执行 source /etc/profile

这个时候就成功移植了

第五步:添加第三方模块

把你想要添加源码的第三方源码下载到虚拟机中,本文以mqtt为例,cd 到 源码目录

若是想要安装在虚拟机上只须要执行 python3 setup.py install 

默认安装的目录是 /usr/local/lib

咱们改成python3 setup.py install  --prefix=/opt/arm_python

目的是将默认前缀/usr/local 改成/opt/arm_python

在执行这一步的时候可能会报错,报错提示do not support  .pth file之类的

缘由是:python在安装模块的时候,会默认安装到搜索路径,由于咱们这个路劲是自定义的,因此安装的时候以为不合法,因此报错

解决方法:在终端执行 export PYTHONPATH=$PATHONPTH:/opt/arm_python/lib/python3.4/site_packages

相关文章
相关标签/搜索