加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

ELF 1技術(shù)貼 | 如何將Python3.6.9移植到開發(fā)板上

02/22 11:07
2756
閱讀需 8 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

在ELF 1開發(fā)板Linux 4.1.15 eMMC鏡像中,默認(rèn)預(yù)裝了Python 2.7。為了適應(yīng)更多應(yīng)用場景,有些小伙伴可能需要移植其他版本的Python,下面將以Python 3.6.9為例詳細(xì)介紹如何進(jìn)行交叉編譯并移植到ELF 1開發(fā)板上。

在網(wǎng)址:https://www.python.org/ftp/python/

下載Python-3.6.9.tar.xz壓縮文件。

1、拷貝Python-3.6.9.tar.xz到開發(fā)環(huán)境/home/elf/work目錄下解壓:

 elf@ubuntu:~/work$ tar xvf Python-3.6.9.tar.xz

2、進(jìn)入Python-3.6.9目錄:

elf@ubuntu:~/work$ cd Python-3.6.9/

3、創(chuàng)建新目錄:

elf@ubuntu:~/work/Python-3.6.9$ mkdir build-arm

4、虛擬機(jī)安裝Python 3.6.9:

(1)編譯:

elf@ubuntu:~/work/Python-3.6.9$ ./configure 
elf@ubuntu:~/work/Python-3.6.9$ make
elf@ubuntu:~/work/Python-3.6.9$ sudo make install

編譯報(bào)錯(cuò),執(zhí)行如下命令:

elf@ubuntu:~/work/Python-3.6.9$ sudo apt-get install zlib*
再次sudo make install,編譯成功。
(2)清除編譯臨時(shí)生成的中間文件,為交叉編譯做準(zhǔn)備:
elf@ubuntu:~/work/Python-3.6.9$ sudo make clean

5、交叉編譯Python:

(1)進(jìn)入build-arm目錄:

elf@ubuntu:~/work/Python-3.6.9$ cd build-arm/

(2)設(shè)置交叉編譯環(huán)境變量:

elf@ubuntu:~/work/Python-3.6.9/build-arm$ . /opt/fsl-imx-x11/4.1.15-2.0.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi

(3)設(shè)置CONFIG_SITE環(huán)境變量:

elf@ubuntu:~/work/Python-3.6.9/build-arm$ echo ac_cv_file__dev_ptmx=no > config.site
elf@ubuntu:~/work/Python-3.6.9/build-arm$ echo ac_cv_file__dev_ptc=no >> config.site
elf@ubuntu:~/work/Python-3.6.9/build-arm$ export CONFIG_SITE=config.site

(4)交叉編譯:

elf@ubuntu:~/work/Python-3.6.9/build-arm$ ../configure --host=arm-poky-linux-gnueabi --build=x86_64-linux-gnu --prefix=$PWD/_install --disable-ipv6
elf@ubuntu:~/work/Python-3.6.9/build-arm$ make
elf@ubuntu:~/work/Python-3.6.9/build-arm$ make install

編譯報(bào)錯(cuò),執(zhí)行如下命令:

elf@ubuntu:~/work/Python-3.6.9/build-arm$ sudo rm /usr/bin/lsb_release
再次make install編譯,在_install目錄下會(huì)生成bin、include、lib、share文件夾。
6、將交叉編譯好的Python移植到ARM開發(fā)板:
(1)在_install目錄下打包所有目錄:
elf@ubuntu:~/work/Python-3.6.9/build-arm/_install$ tar cvf python3.6.tar.bz2 ./

(2)將生成的壓縮包文件放到開發(fā)板文件系統(tǒng)根目錄下進(jìn)行解壓:

root@ELF1:~# cd /
root@ELF1:/# cp /run/media/sda1/python3.6.tar.bz2 .
root@ELF1:/# tar xvf python3.6.tar.bz2

(3)設(shè)置環(huán)境變量:

root@ELF1:/# export PYTHONPATH=$PYTHONPATH:/lib/python3.6
root@ELF1:/# export PYTHONHOME=$PYTHONHOME:/lib/python3.6

(4)運(yùn)行測試:

root@ELF1:/# python3.6
Python 3.6.9 (default, Nov 10 2023, 03:00:36)
[GCC 5.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.version
'3.6.9 (default, Nov 10 2023, 03:00:36) n[GCC 5.3.0]'
按Ctrl+D可退出Python。

關(guān)于如何成功將Python 3.6.9移植到ELF 1開發(fā)板中的過程已經(jīng)詳盡介紹完畢,希望以上的指南能對(duì)各位小伙伴提供切實(shí)的幫助!

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
SN65HVD234D 1 Texas Instruments 3.3 V CAN Transceiver with Sleep Mode 8-SOIC -40 to 125

ECAD模型

下載ECAD模型
$3.95 查看
NCV7321D12R2G 1 onsemi LIN Transceiver, Stand-alone ESD Improved, 3000-REEL
$1.11 查看
CY62167EV30LL-45ZXI 1 Cypress Semiconductor Standard SRAM, 1MX16, 45ns, CMOS, PDSO48, TSOP1-48
$69.33 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜