1. 环境介绍
硬件:STM32MP157,使用的是野火出的开发板。
软件:Debian ARM 架构制作的 Linux 发行版,版本信息如下:
-
Linux发行版本:Debian GNU/Linux 10
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-638UKCvO-1683977654644)(picture/image-20230502233159734.png)]](https://img-blog.csdnimg.cn/1349dc9e6aeb47b1a44f65b74bce3a14.png)
-
内核版本:4.19.94
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kC5e9sge-1683977654645)(picture/image-20230502233606658.png)]](https://img-blog.csdnimg.cn/ea170c510f9247bcb0d45e0159d7b605.png)
2. Python 简介
对于 Python 是什么,此处简要概括如下:
-
Python 是一种跨平台的解析型编程语言
-
Python 易学、易用、功能强大,被大量应用在 AI、数据处理、编程教育中
-
大量的开发者提供了各种 Python 代码库,其他人可以使用这些库轻松开发自己的程序
3. 安装python3环境
3.1 使用 apt 命令安装
1)先确认是否安装了python3
python3 --version
pip3 --version
输入上面两条命令,查看是否有输出python的版本信息,如果没有那么说明还没有安装python环境。
2)安装python3
安装之前,请先确认自己的板卡是否能联网。可以ping百度的网址:
ping www.baidu.com
如下图:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Xp07sxGh-1683977654645)(picture/image-20230502115743172.png)]](https://img-blog.csdnimg.cn/4ce351bbf6ea4ad3b5890846992448e4.png)
虽然延迟有点高,但是可以确定确实能联网。
然后运行如下命令:
# 在板卡上执行如下命令,需要联网
# 第一次使用apt需要更新
sudo apt update
# 安装python3
sudo apt -y install python3
# 安装pip工具
sudo apt -y install python3-pip
安装过程如下图:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KlIKoIRI-1683977654645)(picture/image-20230502120540564.png)]](https://img-blog.csdnimg.cn/9c4c850755714ec2b06836829d1fea6a.png)
3)确认是否安装完成
运行下面两条命令,查看是否能打印python的版本信息:
python3 --version
pip3 --version
如下图:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CMYZvFsH-1683977654645)(picture/image-20230502120825344.png)]](https://img-blog.csdnimg.cn/4ca3a4b608164384b878412036e0beed.png)
可以看到,安装的是python3.7版本。
但是我想要安装的是python3.8,或者更高的版本,而是用apt命令,默认安装的是3.7版本。然后网上找了一些参考,安装更高版本只能下载python源码,然后自行编译安装。
3.2 安装更高版本python
下面我以安装python3.10.9版本为例,记录下安装过程。
大家可以参考官网这篇文章的介绍进行安装:
https://computingforgeeks.com/how-to-install-python-on-ubuntu-linux-system/
官网介绍了也可以通过命令安装python3.10以上的版本,但是我在自己的开发板试过了,安装失败,所以下面我只介绍下载源码,进行编译安装。
1)安装构建python3.10所需依赖
sudo apt update
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev wget libbz2-dev
安装过程中需要确认的,输入y即可。
2)下载python3.10.9源码
wget https://www.python.org/ftp/python/3.10.9/Python-3.10.9.tgz
上面是使用wget命令下载,我们也可以在电脑上到python的官网下载,然后想办法把文件传输到开发板即可。
3)解压缩python3.10.9
tar -zvxf Python-3.10.9.tgz
4)进入解压目录,运行configure文件
cd Python-3.10.9
./configure --enable-optimizations
configure脚本可以检查所需的依赖项,–-enable optimization标志通过运行多个测试来优化二进制文件。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t3BdEcTz-1683977654645)(picture/image-20230502131211400.png)]](https://img-blog.csdnimg.cn/8117547209b24306b7c3f1c6d11f67f0.png)
发现有一些提示是 no ,这里我还不知道有什么影响,先按照步骤走吧,如果提示失败然后再一步步解决。
5)开始编译
make -j2
其中,-j2参数是你的CPU核心数,比如我的CPU是2核心的,那么我这里就使用-j2。如果是4核心的则可以使用-j4。
这里编译要超级久(我是在开发板编译的,可能开发板的CPU运行太慢了),等到最后编译完成是如下图所示:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zNN5KMX2-1683977654646)(picture/image-20230502152101781.png)]](https://img-blog.csdnimg.cn/48015edb6b4540eca35708a6928d9b5b.png)
编译过程中出现了一些找不到文件或文件夹的情况,我暂时没有去管他,就继续下一步了。
6)安装
安装其实就是把我们编译好的可执行文件,复制到系统的某个存放执行文件的目录,我们运行下面命令,会自动帮我们完成所有事情。
make altinstall
其中,make altinstall与make install的区别,altinstall skips creating the python link and the manual pages links。
即,altinstall跳过创建python链接和手册页链接的操作。
如果使用make install,在系统中将会有两个不同版本的Python在/usr/bin/目录中,这将会导致很多问题。
安装完成之后如下图所示:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TgyPKVGk-1683977654646)(picture/image-20230502152734082.png)]](https://img-blog.csdnimg.cn/3883728ad18a4c1aa6402db6fdfab0da.png)
7)验证是否安装完成
输入如下命令:
python3.10
然后可以看到打印信息如下:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-D2nN153X-1683977654646)(picture/image-20230502223617302.png)]](https://img-blog.csdnimg.cn/d480af04a5bb42db9e9844435ff3a399.png)
说明已经完成安装了。
4. 设置python软链接默认指向python3.10
4.1 更新python指向
1)删除原来python3的软链接
我原来的apt模式安装的python3.7版本,它的软链接文件在哪,可以使用which命令查找:
which python3
可以查找到是在 /usr/bin/python3 的路径。
然后使用rm命令删除这个原有软链接:
rm /usr/bin/python3
2)新建python3指向3.10版本
我们先查找python3.10在哪个目录:
which python3.10
如下图:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ec5qZYJx-1683977654646)(picture/image-20230502230358782.png)]](https://img-blog.csdnimg.cn/e98b716f48cc4229b6d481bf9428d19d.png)
然后使用ln命令新建软链接:
ln -s /usr/local/bin/python3.10 /usr/bin/python3
ln -s /usr/local/bin/python3.10 /usr/bin/python
我这里新建了两个软链接 python 和 python3 都指向了 3.10 版本。如果你只需要 python3 这个软链接,那么你只执行其中一条命令即可。
4.2 更新pip指向
更新pip工具指向,和上面的更新python指向是一样的。都是先找到原来的软链接指向,然后删除,然后再创建新的软链接指向即可。
这里不详细介绍,只记录需要使用的命令如下:
# 删除原有软链接
rm /usr/bin/pip3
# 查找pip3.10路径
which pip3.10
# 建立新的软链接
ln -s /usr/local/bin/pip3.10 /usr/bin/pip3
ln -s /usr/local/bin/pip3.10 /usr/bin/pip
更新完之后,我们查看 pip 工具版本:
pip --version
如下图:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gGdevW6v-1683977654647)(picture/image-20230502231830224.png)]](https://img-blog.csdnimg.cn/4d6508fb5b6c44a888eb1d2c23bbb921.png)
到这里就把python3.10的环境安装完成了。如果能用 apt 命令安装的话,其实也就是一条命令的事,但是我想安装的是 python3.8 以上的版本,然后这个命令安装失败,所以不得不自己下载python源码,然后自行编译安装。













![[golang gin框架] 32.Gin 商城项目- 支付宝支付操作相关功能讲解](https://img-blog.csdnimg.cn/img_convert/dae21b959a359793e85120aeb1a627f2.png)



![[一篇读懂]C语言十二讲:栈与队列和真题实战](https://img-blog.csdnimg.cn/52deffe5140d4d538cedf803d000e167.png#pic_center)

