1527|2

274

帖子

8

TA的资源

纯净的硅(初级)

楼主
 

【平头哥Sipeed LicheeRV 86 Panel测评】 5-移植python3到开发板上 [复制链接]

  本帖最后由 manhuami2007 于 2022-4-6 10:24 编辑

LicheeRV 86能够使用c和c++进行编程,有些代码感觉写起来比较麻烦,因此就想到了将python移植到板子上。经过了多天的努力,成功将python3.8移植到了开发板上。现将移植过程分享一下。

python的主要代码也是用c/c++编写的,因此可以通过交叉编译将python编译成开发板可以使用的版本。编译完成将生成可执行文件和对应的lib。

通过将可执行文件加入到PATH变量,将库的路径加入了LD_LIBRARY_PATH变量,就可以实现python的功能了。

所以重点是如何生成可执行文件和库。

1. 下载python的源码

python的官网上提供源码的下载方式,下载之后解压即可得到所需的源代码。我选择的是python3.8.13 。

2. 配置python的编译方式

2.1 设置编译工具对应的变量

在编译python的时候需要指定编译所需的编译工具,其通过变量CC, CXX, AR等引入所需的编译工具。

这些工具已经在配置开发板交叉编译环境的时候配置好了,因此配置好环境之后就可以直接使用了。

注意在使用之前要通过source命令,使能开发板编译工具的变量。

2.2 建立文件夹

在源代码的根目录下建立一个文件夹存放一些编译生成的中间文件。

mkdir riscv.build

2.3 配置编译参数

通过一下指令配置编译的参数:

../configure --prefix=/Python3.8.13 --build=riscv64-linux-gnu --host=riscv64-linux --target=riscv64-linux-gnu --enable-shared --enable-ipv6 --with-system-ffi ac_cv_file__dev_ptmx=0 ac_cv_file__dev_ptc=0 --enable-optimizations

上面的参数我也不是很懂,有兴趣的可以参考这个网址: https://docs.python.org/zh-cn/3.10/using/configure.html

注意在要想配置python3.8.13版本,需要首先在电脑上按照python3.8才可以配置成功,否则会报错。当时报的错误没有记录下来,这里就不贴图了。

3. 生成相关文件并导入开发板

然后调用指令

make
sudo make install

编译的时间会比较久,当编译完成后会在根目录下生产一个Python3.8.13的文件夹,这个文件夹包括所有要用到的东西。将这个文件夹内的东西复制到开发板上,然后在PATH和LD_LIBRARY_PATH两个变量里加入python执行文件的路径和lib的路径就可以使用了。

添加方式是修改 /etc/profile文件,在文件的最后加上

export PATH=$PATH:/usr/python3.8/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/python3.8/lib

然后通过source命令生效。

source /etc/profile

现在就可以使用python3指令了。

4. 效果

使用python3,即可在终端打开python的命令行。

编译后的文件夹将近300M,还没有权限上传,各位可以自行编译试试。

 

最新回复

楼主厉害,谢谢分享。   详情 回复 发表于 2022-4-6 12:42
点赞 关注
 
 

回复
举报

155

帖子

1

TA的资源

一粒金砂(高级)

沙发
 

楼主厉害,谢谢分享。

点评

我也是Linux的初学者  详情 回复 发表于 2022-4-6 12:45
 
 
 

回复

274

帖子

8

TA的资源

纯净的硅(初级)

板凳
 
sonicfirr 发表于 2022-4-6 12:42 楼主厉害,谢谢分享。

我也是Linux的初学者

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表