1. 程式人生 > >Python3版本移植到ARM的通用方法(一鍵移植)

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

看了很多資料介紹如何將python移植到嵌入式裝置當中,但總感覺雜亂五章,還移植不成功,但是經過我的多方摸索,成功的探索出了一條陽光大道,供各位網友借鑑參考。

我採用的方法可以成功移植python2.7以後的所有版本。

第一步:從官網下載原始碼.並把解壓放在/opt

第二步:在 /Python-3.4.5目錄下新建一鍵移植指令碼,並執行 內容如下:(執行完會報錯某某模組內沒安裝,這個不耽誤,可以直接忽視)

#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目錄,內容如下:

第四步:把arm_python資料夾複製到ARM開發板,編輯/etc/profile

在export PATH這一行後面新增:

:/arm_python/bin

在export LD_LIBRARY_PATH 新增

:/arm_python/lib

然後執行 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

到此,一切結束。如有問題聯絡郵件[email protected]
--------------------- 
作者:牛奶還是純的好 
來源:CSDN 
原文:https://blog.csdn.net/Colin_xuan/article/details/81109328 
版權宣告:本文為博主原創文章,轉載請