树莓派4B+编译安装Python源码

树莓派4B+编译安装Python源码

前言

树莓派官方系统自带了Python,但往往是比较新的版本,目前自带的版本是3.9.2,很多库不一定兼容,不同版本库依赖关系非常乱,所以需要自己安装自己所需要的版本.

搜了网上很多教程,都是东拼西凑,时间也久的不行,各种坑,搞得不好就得重新烧写系统(玩树莓派不烧个几十次系统都不好意思说自己入门了),所以在废了一个下午安装成功Python后,把过程记录下来.

安装之前,不建议卸载自带的Python,留着它.这次我需要安装的是Python3.7.4版本,其他版本可能用不同,仅供参考.

系统: Raspberry OS
Python: 3.7.4

编译与安装

  • 首先,是下载Python源码,很多文章使用wget下载,看个人喜好,反正我下载了好几次都没成功,除了网络问题,还有权限问题,加了sudo也没用.挺多人也是无法使用wget下载,因此我建议使用电脑先把源码下载下来,再通过ftp工具发到树莓派上.

    下载链接Python3.7.4下载
    下载第一个,注意看后缀名为tgz
    下载第一个,注意看后缀名为tgz

  • 下载完成后,通过SFTP工具发到树莓派上,注意接下来的操作都尽可能使用sudo命令,防止权限问题.

    先安装Python运行环境

    sudo apt install build-essential libncurses-dev libreadline-dev libsqlite3-dev libssl-dev libexpat1-dev zlib1g-dev libffi-dev
    
    cd /home/pi/Software
    sudo tar -zxvf Python-3.7.4.tgz  (解压) 
    

    解压完了之后,可以看到src目录下多了一个Python-3.7.4的文件夹

    cd Python-3.7.4
    sudo ./configure --prefix=/home/pi/Software/Python37  (设置安装路径)
    make -j4 (启动四线程编译)
    make altinstall (不创建链接,防止替换原有的Python版本)  
    

    在安装过程中,可能会出现缺少文件的提示,百度一下缺少什么库,用apt安装一下,再重新执行make命令,例如,我碰到了"ModuleNotFoundError: No module named ‘_ctypes’"的错误,是由于缺少libffi-dev这个库引起的,执行

    sudo apt-get install libffi-dev
    

    再重新执行make altinstall即可

    完事后添加环境变量

    sudo nano ~/.bashrc
    最后一行添加
    export PATH=$PATH:/home/pi/Software/Python37/bin
    source ~/.bashrc
    

创建链接

如果你的树莓派已经安装了Python,这个地方会略有不同

  • 未来不想使用之前版本Python的,要把自己的Python版本当主力版本的

    先将原来Python版本的链接删除

    sudo rm -rf /usr/bin/python
    sudo rm -rf /usr/bin/pip
    

    然后,再创建当前版本的链接(根据自己安装路径的不同和需要,自己修改)

    sudo ln  /home/pi/Software/Python37/bin/python3.7 /usr/bin/python
    sudo ln /home/pi/Software/Python37/bin/pip3.7 /usr/bin/pip
    

    千万注意,别生成python3和pip3,否则会出现lsb_release问题,挺头痛的
    如果出现了,就把这个python3删除

    之后用python命令,就可以直接使用了
    输入python检查是否安装成功,可以看到版本变成了3.7.4
    在这里插入图片描述
    输入pip -V检查pip是否安装正确
    在这里插入图片描述

  • 未来想使用之前版本Python的,原理也很简单,把软链接改个名就可以(不建议),或者跳过这步(建议)

    sudo ln  /usr/local/python37/bin/python3 /usr/bin/python3.7
    sudo ln  /usr/local/python37/bin/pip3 /usr/bin/pip3.7
    

    今后的使用就不是使用python命令而是使用python3.7命令了

测试

最后测试一下,输入python进入控制台,输出个Hello World验证一下
在这里插入图片描述
可以看到成功了

说明

如果这篇文章对你有帮助,可以点个赞或者收藏.感谢阅读
之后尝试一下安装openCV框架,这玩意在树莓派上安装可太头痛了
严禁抄袭,转载请注明出处.

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值