您好,登錄后才能下訂單哦!
這篇文章主要講解了“ Python如何移植到IMX6ULL開發(fā)板上”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“ Python如何移植到IMX6ULL開發(fā)板上”吧!
92.1 源碼包
和文檔在一起的源碼包有:“python-2.7.3 源碼和補(bǔ)丁.zip”---python 壓縮包和補(bǔ)丁文件;
“install_python.tar”---編譯好的 sqlite 庫文件;
“sqlite-autoconf-3240000.tar.gz”---sqlite 的源碼文件;
“測(cè)試程序”---python 測(cè)試?yán)獭?br/> 到 Python 官網(wǎng)下載源碼包 2.7.3,地址 或者使用壓縮包中提供的源碼
通過 ssh 將 Python-2.7.3.tar.bz2 和補(bǔ)丁 Python-2.7.3-xcompile.patch 拷貝到ubuntu 系統(tǒng)的 home/miniLinux 目錄下,使用命令 tar -vxf Python-2.7.3.tar.bz2 解壓源碼壓縮包得到目錄 Python-2.7.3。
92.2 編譯
92.2.1 編譯 host 版解釋器
編譯 Python 的嵌入式版需要解釋器解析 setup.py 從而編譯 Python 的模塊,因此需要先編譯出 HOST 的解釋器 。
進(jìn)入解壓出來的”Python-2.7.3”,目錄,執(zhí)行命令“./configure”運(yùn)行配置文件。
執(zhí)行完后生成 Makefile 文件,如圖 92.2.1.1:
執(zhí)行命令“make python Parser/pgen”,編譯 PC 版 python Parser/pgen ,成功后如圖 92.2.1.2:
執(zhí)行命令“mv python hostpython”將生成的 PC 版移動(dòng)至 hostpython ,
執(zhí)行命令“mv Parser/pgen Parser/hostpgen”將生成的 PC 版解釋器移動(dòng)至 Parser/hostpgen 。
執(zhí)行命令“make distclean”清除不必要的文件。
92.2.2 arm 補(bǔ)丁交叉編譯的補(bǔ)丁我們放到 python 目錄下,執(zhí)行命令 patch -p1
92.2.3 交叉編譯配置
在“/home/ubuntu/python/Python-2.7.3”目錄下執(zhí)行以下命令進(jìn)行設(shè)置 :
設(shè)置交叉編輯器 CC=arm-none-linux-gnueabi-gcc
設(shè)置 C++交叉編譯器 CXX=arm-none-linux-gnueabi-g++
設(shè)置 AR AR=arm-none-linux-gnueabi-ar
設(shè)置 RANLIB RANLIB=arm-none-linux-gnueabi-ranlib
92.2.4 編譯和安裝測(cè)試
將壓縮包中提供的編譯好的 sqlite3 庫“install_python.tar”通過 ssh 拷貝到 /home/ubuntu/python 下然后解壓,得到“install_python”。
用戶也可以自己編譯 sqlite3 庫,本文第四小節(jié)介紹庫的編譯。
進(jìn)入 Python-2.7.3,執(zhí)行命令“vim setup.py”修改 setup.py ,找到 1044 行將 paths 改為 install_python所在路徑,如圖 92.2.4.2 所示。
定位到 1099 行,修改路徑如圖 92.2.4.3 所示。
執(zhí)行命令“./configure --host=arm-none-linux-gnueabi --prefix=/python ”生成符合交叉編譯器的 Makefile,成功后如圖 92.2.4.4。
執(zhí)行 make 命令進(jìn)行編譯“make HOSTPYTHON=./hostpythonHOSTPGEN=./Parser/hostpgen BLDSHARED="arm-none-linux-gnueabi-gcc -shared"
CROSS_COMPILE=arm-none-linux-gnueabi- CROSS_COMPILE_TARGET=yes ”此時(shí)會(huì)提示缺失模塊,忽略
成功后如圖 92.2.4.6:
執(zhí)行以下命令安裝到指定文件夾“make install HOSTPYTHON=./hostpython
BLDSHARED="arm-none-linux-gnueabi-gcc -shared" CROSS_COMPILE=arm-nonelinux-gnueabi-
CROSS_COMPILE_TARGET=yes prefix=/home/ubuntu/python/Python-2.7.3/_install”。
其中 prefix=/home/ubuntu/python/Python-2.7.3/_install 是指定的安裝目錄,用戶根據(jù)實(shí)際情況更改。
成功后如圖 92.2.4.8:
使用命令“l(fā)s _install”查看結(jié)果:
拷貝 sqlite3 庫文件到“/Python-2.7.3/_install/lib/”下 :
cp install_python/lib/libsqlite3* Python-2.7.3/_install/lib/
將_install 目錄整個(gè)打包,拷貝到開發(fā)板上的“/data”目錄下,然后解壓,筆者使用的是NFS 掛載的根文件系統(tǒng) ,用戶也可以通過 NFS 掛載目錄或 U 盤拷貝過去。
進(jìn)入_install 目錄,使用命令以下命令設(shè)置環(huán)境變量:“export export LD_LIBRARY_PATH=/data/_install/libLD_LIBRARY_PATH”
感謝各位的閱讀,以上就是“ Python如何移植到IMX6ULL開發(fā)板上”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì) Python如何移植到IMX6ULL開發(fā)板上這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。