• 正文
  • 推荐器件
  • 相关推荐
申请入驻 产业图谱

ELF 1技术贴 | 如何将Python3.6.9移植到开发板上

2024/02/22
2054
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

在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开发板中的过程已经详尽介绍完毕,希望以上的指南能对各位小伙伴提供切实的帮助!

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
FTLX8571D3BCL 1 Finisar Corporation Transceiver, 840nm Min, 860nm Max, 10000Mbps(Tx), 10000Mbps(Rx), LC Connector, Board/panel Mount, ROHS COMPLIANT PACKAGE-20
$77.85 查看
HFBR-2526Z 1 Foxconn Receiver, 640nm Min, 660nm Max, 125Mbps, Through Hole Mount, ROHS COMPLIANT PACKAGE
$22.29 查看
SY89831UMG 1 Microchip Technology Inc 89831 SERIES, LOW SKEW CLOCK DRIVER, 4 TRUE OUTPUT(S), 0 INVERTED OUTPUT(S), QCC16
$8.59 查看
点赞
收藏
评论
分享
加入交流群
举报

相关推荐

登录即可解锁
  • 海量技术文章
  • 设计资源下载
  • 产业链客户资源
  • 写文章/发需求
立即登录