在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í)的幫助!
-
單片機(jī)
+關(guān)注
關(guān)注
6037文章
44569瀏覽量
636195 -
嵌入式
+關(guān)注
關(guān)注
5086文章
19141瀏覽量
305976 -
開發(fā)板
+關(guān)注
關(guān)注
25文章
5074瀏覽量
97661
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論