IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 移植Python3.7到S3C2440 -> 正文阅读

[系统运维]移植Python3.7到S3C2440

基本上是参考网上的文章,具体原理性的东西我也不太懂

  • 开发板: 友善mini2440
  • gcc: arm-linux-gcc 4.4.3
  • 宿主机: deepin-linux-20

1.下载python3.7

百度搜索Python国内下载 去阿里源下载Python-3.7.10.tgz就行。别下太新的,也许编译通不过。
也别下3.6之前的,因为我在开发板上要运行下载的get-pip.py(自行百度)说是不支持3.6版本之前的。

2.编译宿主机Python

cd Desktop/Python-3.7.10/
mkdir build.pc
cd build.pc
sudo ../configure //这里直接configure就行,因为这里是编译x86的Python 采用默认配置就好
sudo make -j4 & make install
sudo rm /usr/bin/python //先删除电脑上你正在使用的Python的软连接,替换为刚刚编译的python版本
sudo ln -sf /usr/local/bin/python3.7 /usr/bin/python //替换
python -v //看看版本是不是替换过来了。上面的文件路径要依据你自己的电脑的实际情况。

3.交叉编译

然后接下来的步骤基本上是依据这个博客
注意要先编译(交叉编译)sqlite 并在python的setup.py里修改sqllite的路径

按照里面的步骤,先make Parser
然后 
mkdir build.arm install.arm 
sudo ../configure --host=arm-linux --build=arm --prefix=/home/wangke/Desktop/Python-3.7.10/install.arm/ CC=/opt/FriendlyARM/toolschain/4.4.3/bin/arm-linux-gcc CXX=/opt/FriendlyARM/toolschain/4.4.3/bin/arm-linux-g++ AR=/opt/FriendlyARM/toolschain/4.4.3/bin/arm-linux-ar --disable-ipv6 --enable-shared READELF=arm-linux-readelf ac_cv_file__dev_ptmx=no ac_cv_file__dev_ptc=no --enable-optimizations
/*进行编译配置,会生成Makefile 这里注意编译器路径要用绝对路径/opt/FriendlyARM/toolschain/4.4.3/bin/arm-linux-gcc, 如果提示你有错误,改正就好, 一般来说查看config.log 然后修改第一级目录下的configure文件(一般是直接整段注释掉提示出错的地方),
如果能正常生成Makefile 说明配置基本成功, 但是还是要检查和按照上面的博客修改下Makefile和setup.py*/

4. sudo make & make install

在刚刚设置的–prefix=/home/wangke/Desktop/Python-3.7.10/install.arm/ 文件夹下就有 编译好的 python可执行程序(解释器),和相关的库文件等,将该目录下的所有文件和文件夹拷贝到开发板,比如我的是/mnt/sdcard
然后在开发板的终端里面

vi /etc/profile //没有自己建一个
添加上
export PATH=$PATH:/mnt/sdcard/python/bin   # 用于执行python,填写 Python目录中的Bin目录即可export PYTHONPATH=               # 这一行是为了额外的模块的搜索,根据实际模块的使用情况进行填写,可留空,可参考附录进行填写
export PYTHONHOME=/mnt/sdcard/python
export LD_LIBRARYPATH = $LD_LIBRARYPATH: python 文件下的/lib
保存退出
source /etc/profile
重启开发板
pytthon3 -v
如果提示缺少库什么的
在宿主机上 arm-linux-readelf -d 刚刚编译好的python3.7可执行程序,查看一下需要哪些库
 0x00000001 (NEEDED)                     Shared library: [libpython3.7m.so.1.0]
 0x00000001 (NEEDED)                     Shared library: [libcrypt.so.1]
 0x00000001 (NEEDED)                     Shared library: [libpthread.so.0]
 0x00000001 (NEEDED)                     Shared library: [libdl.so.2]
 0x00000001 (NEEDED)                     Shared library: [libutil.so.1]
 0x00000001 (NEEDED)                     Shared library: [librt.so.1]
 0x00000001 (NEEDED)                     Shared library: [libm.so.6]
 0x00000001 (NEEDED)                     Shared library: [libc.so.6]
没有的从编译器的库文件夹/opt/FriendlyARM/toolschain/4.4.3/arm-none-linux-gnueabi/lib里面拷贝到开发板LD_LIBRARYPATH(好吧好像是这个名字)指定的目录下 或者默认的/lib目录

在开发板的终端里出现如下图所示,则表示移植成功
在开发板的终端里出现如上图所示,则表示移植成功

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-01-08 14:27:52  更:2022-01-08 14:28:26 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 6:26:20-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码