在ELF 1開發板的Linux 4.1.15 eMMC鏡像中,默認預裝了Python 2.7。為了適應更多應用場景,有些小伙伴可能需要移植其他版本的Python,下面將以Python 3.6.9為例詳細介紹如何進行交叉編譯并移植到ELF 1開發板上。
網址:https://www.python.org/ftp/python/
下載Python-3.6.9.tar.xz壓縮文件。
1、拷貝Python-3.6.9.tar.xz到開發環境/home/elf/work目錄下解壓:
elf@ubuntu:~/work$ tar xvf Python-3.6.9.tar.xz
2、進入Python-3.6.9目錄:
elf@ubuntu:~/work$ cd Python-3.6.9/
3、創建新目錄:
elf@ubuntu:~/work/Python-3.6.9$ mkdir build-arm
4、虛擬機安裝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
編譯報錯,執行如下命令:
elf@ubuntu:~/work/Python-3.6.9$ sudo apt-get install zlib*
再次sudo make install,編譯成功。
(2)清除編譯臨時生成的中間文件,為交叉編譯做準備:
elf@ubuntu:~/work/Python-3.6.9$ sudo make clean
5、交叉編譯Python:
(1)進入build-arm目錄:
elf@ubuntu:~/work/Python-3.6.9$ cd build-arm/
(2)設置交叉編譯環境變量:
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)設置CONFIG_SITE環境變量:
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
編譯報錯,執行如下命令:
elf@ubuntu:~/work/Python-3.6.9/build-arm$ sudo rm /usr/bin/lsb_release
再次make install編譯,在_install目錄下會生成bin、include、lib、share文件夾。
6、將交叉編譯好的Python移植到ARM開發板:
(1)在_install目錄下打包所有目錄:
elf@ubuntu:~/work/Python-3.6.9/build-arm/_install$ tar cvf python3.6.tar.bz2 ./
(2)將生成的壓縮包文件放到開發板文件系統根目錄下進行解壓:
root@ELF1:~# cd / root@ELF1:/# cp /run/media/sda1/python3.6.tar.bz2 . root@ELF1:/# tar xvf python3.6.tar.bz2
(3)設置環境變量:
root@ELF1:/# export PYTHONPATH=$PYTHONPATH:/lib/python3.6 root@ELF1:/# export PYTHONHOME=$PYTHONHOME:/lib/python3.6
(4)運行測試:
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。
關于如何成功將Python 3.6.9移植到ELF 1開發板中的過程已經詳盡介紹完畢,希望以上的指南能對各位小伙伴提供切實的幫助!
-
單片機
+關注
關注
6037文章
44558瀏覽量
635227 -
嵌入式
+關注
關注
5082文章
19123瀏覽量
305150 -
開發板
+關注
關注
25文章
5050瀏覽量
97456
發布評論請先 登錄
相關推薦
如何將u-boot.2022.10版本移植到imx6ull開發板
![<b class='flag-5'>如何將</b>u-boot.2022.10版本<b class='flag-5'>移植</b><b class='flag-5'>到</b>imx6ull<b class='flag-5'>開發板</b>](https://file1.elecfans.com/web2/M00/8C/90/wKgZomSuTZ6AA3m5AAA0CFyFHn8916.jpg)
嵌入式學習-ElfBoard ELF 1板卡-移植python3.6.9
如何將STemWin移植到STM32F1xx開發板中?及如何使用STemWin?
ELF 1技術貼|在NXP源碼基礎上適配ELF 1開發板的LED功能
![<b class='flag-5'>ELF</b> <b class='flag-5'>1</b><b class='flag-5'>技術</b><b class='flag-5'>貼</b>|在NXP源碼基礎<b class='flag-5'>上</b>適配<b class='flag-5'>ELF</b> <b class='flag-5'>1</b><b class='flag-5'>開發板</b>的LED功能](https://file1.elecfans.com/web2/M00/BA/50/wKgaomWOKTKAfuWLAABArY1D4Jg940.png)
ELF技術貼|如何在開發板上實現對Java的支持
![<b class='flag-5'>ELF</b><b class='flag-5'>技術</b><b class='flag-5'>貼</b>|如何在<b class='flag-5'>開發板</b><b class='flag-5'>上</b>實現對Java的支持](https://file1.elecfans.com/web2/M00/C5/1A/wKgaomXxaDCADbm_AAA89wQPeVU499.png)
ElfBoard技術貼|在NXP源碼基礎上適配ELF 1開發板的按鍵功能
![ElfBoard<b class='flag-5'>技術</b><b class='flag-5'>貼</b>|在NXP源碼基礎<b class='flag-5'>上</b>適配<b class='flag-5'>ELF</b> <b class='flag-5'>1</b><b class='flag-5'>開發板</b>的按鍵功能](https://file1.elecfans.com/web2/M00/FB/88/wKgaomaN6ZaAeoxXAABAhfkiKBc281.png)
ElfBoard技術貼|如何在ELF 1開發板上搭建流媒體服務器
![ElfBoard<b class='flag-5'>技術</b><b class='flag-5'>貼</b>|如何在<b class='flag-5'>ELF</b> <b class='flag-5'>1</b><b class='flag-5'>開發板</b><b class='flag-5'>上</b>搭建流媒體服務器](https://file1.elecfans.com/web2/M00/04/6E/wKgaombEPEuAU2NVAABA0p3Um-o988.png)
評論