树莓派自带的python3.9->python3.7

news2024/11/28 16:51:31
    • 卸载python3.9:

  1. sudo apt-get remove python3

  1. 卸载之后一些包可以使用sudo apt autoremove这个命令删除

  1. 卸载成功如果出现问题后续再来更新(出现问题后后续安装python也会失败)

  1. (先不要安装先看)

    • 安装python3.7:

  1. 我们运行python项目的时候需要下载很多项目的包对环境进行配置

  1. 而python本身也是一个项目,运行也需要依赖包所以使用下面的命令安装依赖包

  1. sudo apt-get install -y make build-essential libssl-dev zlib1g-dev

  1. sudo apt-get install -y libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm

  1. sudo apt-get install -y libncurses5-dev libncursesw5-dev xz-utils tk-dev

  1. 方法很多我也是找了一个我自己使用的方法告诉大家,如果出现问题那就再运行一遍命令

  1. 然后我们下载我们想要安装的python版本网址提供给大家https://www.python.org/ftp/python/

  1. 自己下载好然后使用xftp传进去(传到当前用户的根目录下即可,方便后续解压安装)

  1. 使用命令下载sudo wget https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tgz

  1. 解压,不同的解压后缀名对应不同的解压方式,(注意安装版本不同命令需要修改版本号做出调整)

  1. sudo tar -zxvf Python-3.7.3.tgz

  1. 安装,进入解压文件夹,然后执行安装命令

  1. cd Python-3.7.3

  1. sudo ./configure --prefix=/usr/local/python3

  1. sudo make

  1. sudo make install

  1. 安装完成之后,因为需要使用当前安装的python版本所以需要创建软连接(软连接就像windows的快捷方式一样,我们打开的指向软件路径)

  1. ln -s /usr/local/python3/bin/python3 /usr/local/bin/python3

  1. 使用该命令修改会报错,因为我们安装python是在树莓派的pi用户下(我觉得大多数都是这样)我们需要加权限:

  1. sudo ln -s /usr/local/python3/bin/python3 /usr/local/bin/python3

  1. ln -s /usr/local/python3/bin/pip3 /usr/local/bin/pip3

  1. 同理:

  1. sudo ln -s /usr/local/python3/bin/pip3 /usr/local/bin/pip3

  1. 报错:ln: failed to create symbolic link '/usr/local/bin/pip3': File exists

  1. 解决:sudo ln -sf /usr/local/python3/bin/pip3 /usr/local/bin/pip3

  1. 测试安装是否成功

  1. 软连接前面的是安装路径,后面的是(快捷方式)路径,也就是我们打开的路径,我们设置的python3,那么我们测试安装成功也需要这样来:

  1. python3 -V

  1. python3 --version

  1. 测试pip3 -V时出现了问题

  1. -bash: /home/pi/.local/bin/pip: /usr/bin/python: bad interpreter: No such file or directory

  1. 使用which查看安装路径:可以看出pip3在pi用户下,而python在root用户下,导致软连接没有设置成功

 pi@raspberrypi:~ $ which pip3
/home/pi/.local/bin/pip3
pi@raspberrypi:~ $ which python3
/usr/local/bin/python3
  1. 发生问题的原因可能是因为我安装的时候应该在根目录下安装python,那么现在如何解决这个问题:

  1. 修改设置软连接:sudo ln -s /home/pi/.local/bin/pip /usr/local/bin/python3(不行)

  1. 我去找了pip的安装路径,/home/pi/.local/bin/pip3路径下是没有的,/usr/local/python3/bin/pip3是有的,那么为啥路径会指向不存在的一个地方呢?

  1. 查看ls -a

  1. 使用cd .local/bin

  1. 解决办法:python卸载不够完全,系统自带两个版本python所以全部卸载再重新安装

    • 彻底卸载系统里的所有python:

进入根目录进行操作

查找

  1. find / -name python

  1. find / -name python3

  1. find / -name pip

  1. find / -name pip3

删除

  1. rm -rf 路径/python

........

下面是删除截图:

    • 安装,按照第二部来操作,因为在根目录很多权限问题不用管了创建软链接可以直接创建

  1. 校验python安装也都是正常的

  1. python3 -V

  1. pip校验显示没有安装,我就纳闷了,python都装好了,那python里面的pip都只是安装包吗

  1. 重新安装sudo apt install python3-pip

  1. 校验pip3 -V、pip -V

  1. 能用就行,重装系统也没折,还得卸载安装。(这个pip竟然是python3.9的)至于为啥是这样知道的还望告知!

以上就是我玩树莓派安装python3.7的经验,其实教程很多,遇见问题我都尝试过,各种问题,查找问题也根本没法解决,我才自己写了个,希望不踩坑了。有什么问题我在修改,后续还得写关于树莓派环境的东西,太难受了,真不友好!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/153028.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C语言第30课笔记

1.strerror(errno要包含头文件errno.h) 2.perror头文件为stdio.h 3.一些字符函数 4.字母大小写转换函数 5.memmove理论上是memcpy的升级版(可以自己拷贝自己)。 6.匿名结构体类型在类型创建好了之后直接创建变量,只能用一次。两个完全相同的匿名结构体类型&#xf…

【八】Netty HTTP协议--文件服务系统开发

Netty HTTP协议--文件服务系统开发介绍HTTP-文件系统场景描述流程图代码展示netty依赖服务端启动类 HttpFileServer服务端业务逻辑处理类 HttpFileServerHandler结果展示错误路径文件夹路径文件路径遗留bugbug版本总结介绍 由于Netty天生是异步事件驱动的架构,因此…

java EE初阶 — Synchronized 的原理

文章目录1. Synchronized 的优化操作1.1 偏向锁1.2 轻量级锁(自旋锁)1.3 重量级锁2. 其他的优化操作2.1 锁消除2.2 锁粗化3. 相关面试题1. Synchronized 的优化操作 两个线程针对同一个对象加锁,就会产生阻塞等待。 Synchronized 内部其实还有…

ubuntu docker elasticsearch kibana安装部署

ubuntu docker elasticsearch 安装部署 所有操作尽量在root下操作. 安装docker 1. 由于是基于宝塔面板安装的所以简答的点击操作即可完成安装. 我这里已经是正常的安装好了. 2.dcoker 镜像加速 https://cr.console.aliyun.com/cn-hangzhou/instances访问这个网址进去进行了…

快速上手Golang

自动推导赋值:自动推导赋值Go中 不同的数据类型不能进行计算对于浮点型默认都是float64 精确到小数点后15位单引号的 为字节类型 一位0~255的字符转换双引号的 为字符串类型多重赋值多重赋值a,b:1,2格式输出格式输出printf“%3d”三位整数,不满足三位时头部补空格“…

录制课程用什么软件好?3款超好用的课程视频录课软件

在互联网技术的飞速发展下,在线教学已经成为一种新型的教学形式,与传统的教学方法相比,在线教学具有低成本、突破地域、时间灵活、形式多样的教学方式。那录制课程用什么软件好?今天小编就跟大家分享3款超好用的课程视频录课&…

认真研究MySQL的主从复制(一)

【1】主从复制概述 ① 如何提升数据库并发能力 在实际工作中,我们常常将Redis作为缓存与MySQL配合使用,当有请求的时候,首先会从缓存中进行查找。如果存在就直接取出,如果不存在再访问数据库。这样就提升了读取的效率&#xff0…

中国数据库的诸神之战

作者 | 唐小引出品 | 《新程序员》编辑部“现在的数据库产品实在是太多了!”前几天,我和深耕数据库/大数据近 30 年的卢东明老师相聊时,他发出了这样的感慨。将包括 DB-Engines Ranking 以及国内数据库排行等在内的数据库产品列表进行汇总&am…

快速入门Freemarker模块引擎技术

1、 freemarker 介绍 ​ FreeMarker 是一款 模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具。 它不是面向最终用户的,而是一个Java类库&am…

采场的车辆管理及卸料点计数管理有哪些难题需要解决

近期,安环部检查采矿区域工程车辆驾驶人员情况时,发现有部分驾驶员及工作人员存在违规顶替情况,有非注册备案人员驾驶矿用工程车辆违规作业。为了进行统一有效的人员车辆管理,同时能监督安全员定期对采矿作业区进行安全巡查&#…

Camtasia Studio2023喀秋莎新增功能及电脑配置要求介绍

Camtasia Studio2023具有强大的视频播放和视频编辑功能,录制屏幕后,根据时间轴对视频剪辑进行各种标记、媒体库、画中画、画中画、画外音当然,也可以导入现有视频并对其进行编辑操作。编辑完成后,可以将录制的视频输出为最终的视频…

光伏废水深度除氟装置,用于高盐废水除氟的工艺

光伏行业废水根据生产产品可细分为单品硅生产线排水、多品硅生产线排水。其生产工序中有污水排放的工段主要是:制绒和清洗工段。废水中的主要污染物为由异丙醇引起的高浓度COD、氟离子及酸碱污染,其中以含异丙醇的废水一直是水处理中的难题。如果不对废水…

【自学Python】Python input()函数

Python input()函数 Python input()函数教程 在 Python 中,input() 函数用于获取用于的输入,并给出提示。input() 函数,总是返回 string 类型,因此,我们可以使用 input() 函数,获取用户输入的任何数据类型…

【C进阶】第十五篇——内存函数

memcpy - 内存拷贝1 函数介绍 模拟实现 memmove - 内存拷贝2 函数介绍 模拟实现 memcmp - 内存比较 memset - 内存设置 memcpy - 内存拷贝1 函数介绍 void *memcpy( void *dest, const void *src, size_t count );memcpy函数是一个用于拷贝两个不相关的内存块的函数。…

4-2文件管理-文件系统实现

文章目录一.文件系统层次结构二.文件系统的全局结构三.虚拟文件系统与文件系统挂载(安装)(一)虚拟文件系统(二)文件系统挂载(安装)一.文件系统层次结构 (1)用…

密码学_MD5算法

MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。 MD5算法具有以下特点&#xff1a…

php宝塔搭建部署实战易优cms皮具皮包手袋定制网站源码

大家好啊,我是测评君,欢迎来到web测评。 本期给大家带来一套php开发的易优cms皮具皮包手袋定制网站源码,感兴趣的朋友可以自行下载学习。 技术架构 PHP7.2 nginx mysql5.7 JS CSS HTMLcnetos7以上 宝塔面板 文字搭建教程 下载源码&a…

Java 日常开发记录

手动分页 非mybatis 自动分页 service 层 Overridepublic PageInfo<CfLogVo> cfLogList(CfLogQuery cfLogQuery) {if (StrUtil.isNotBlank(cfLogQuery.getRequest()) && cfLogQuery.getRequest().length() >100){throw new ServiceException("请求报文…

Flutter | 使用 typedef 让回调更优雅

今天来谈谈 Flutter 的 typedef。 一. 熟悉的 VoidCallback 之前看 setState 源码的时候&#xff0c;发现它的参数是 VoidCallback&#xff1a; void setState(VoidCallback fn) {}VoidCallback 其实是一个自定义类型的无参数无返回值的匿名函数&#xff1a; /// Signature…

mybatis之配置优化and映射器

环境配置&#xff1a; mybatis可以配置成适应多种环境&#xff0c;但是要记住&#xff0c;尽管可以配置多个环境&#xff0c;但每个SqlSessionFactory实例只能选择一种环境。 虽然&#xff0c;MyBatis 中有两种类型的事务管理器:type("[JDBC|MANAGED]"&#xff09;…