python交叉编译_交叉编译Python3.6.2,使用海思arm-hisiv200-linux-gcc,移植到arm开发板上...
最近在學(xué)習(xí)Python,感覺使用Python可以快速的寫出程序,比之前使用的C語言快多了,能省出很多時(shí)間。多學(xué)一點(diǎn)知識(shí)有更多的選擇。本職工作是嵌入式開發(fā),學(xué)習(xí)了Python后想移植到開發(fā)板上,嘗試嵌入式軟件能不能使用Python快速開發(fā)。
1、編譯環(huán)境
編譯電腦:
cat /etc/issue 為?Fedora release 19,
uname -a 為?3.9.5-301.fc19.x86_64
交叉編譯器:海思Hi3535的官方編譯器arm-hisiv200-linux-gcc,版本gcc version 4.4.1 (Hisilicon_v200(gcc4.4-290+glibc-2.11+eabi+nptl))
2、獲取Python3.6.2源碼。
本文寫于2017年9月16日上午10點(diǎn)。最新的穩(wěn)定版為Python3.6.2,可以去https://www.python.org/downloads/source/下載源碼。
下載后的文件Python-3.6.2.tgz大小是22580749字節(jié)。使用tar -zxvf?Python-3.6.2.tgz解壓。進(jìn)入解壓后的目錄。在我電腦上此絕對路徑為/home/test/Python-3.6.2/
3、配置相關(guān)參數(shù)。
因?yàn)榫幾g完成后需要運(yùn)行make install ,把相關(guān)的庫與頭文件以及可執(zhí)行程序放入一個(gè)目錄里面,為了不影響Linux 編譯電腦的Python環(huán)境,我們先建立一個(gè)文件夾用于存放最后生成的文件,這個(gè)文件夾就是最后需要復(fù)制到開發(fā)板的所有內(nèi)容。這里在Python源碼的根目錄下建立一個(gè)mylib的文件夾。在我電腦上此文件夾的絕對路徑為/home/test/Python-3.6.2/mylib
下面指定相關(guān)編譯器為arm-hisiv200-linux-gcc等。--disable-ipv6 ac_cv_file__dev_ptmx=no ac_cv_file__dev_ptc=no這幾個(gè)選項(xiàng)的來歷是執(zhí)行./configure XXX時(shí)給出的提示,根據(jù)提示添加的。
完整的配置參數(shù)是:
./configure CC=arm-hisiv200-linux-gcc CXX=arm-hisiv200-linux-g++ AR=arm-hisiv200-linux-ar RANLIB=arm-hisiv200-linux-ranlib --host=arm-hisiv200-linux --build=arm --disable-ipv6 ac_cv_file__dev_ptmx=no ac_cv_file__dev_ptc=no --prefix=/home/test/Python-3.6.2/mylib
4、編譯Python3.6.2
如果上面的配置沒有出錯(cuò)的話,就可以執(zhí)行編譯的流程了。執(zhí)行make進(jìn)行編譯。編譯成功后執(zhí)行make install,就可以在mylib文件夾下看到bin ?include ?lib ?share四個(gè)文件夾了。
然后tar czvf mylib.tar.gz mylib,壓縮文件夾,就可以把mylib.tar.gz復(fù)制到開發(fā)板上,使用tar zxvf mylib.tar.gz解壓后就可以進(jìn)到bin路徑下使用./python3.6執(zhí)行了。接下來可以建立軟連接到此文件就可以執(zhí)行.py結(jié)尾的文件了。
5、測試
在Python交互行里輸入print("Hello World!")就可以正常運(yùn)行了。下面給出編譯的mylib.tar.gz,以及json和日歷的測試程序。
總結(jié)
以上是生活随笔為你收集整理的python交叉编译_交叉编译Python3.6.2,使用海思arm-hisiv200-linux-gcc,移植到arm开发板上...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 重庆哪里的火锅好吃 重庆火锅推荐指南?
- 下一篇: linux下使用python3_Linu