在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
發布評論請先 登錄
相關推薦
評論