Python3版本移植到ARM的通用方法(一鍵移植)
2018年07月19日 09:53:28 牛奶還是純的好 閱讀數:933
看了很多資料介紹如何將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]