当前位置: 首页 > news >正文

ubuntu 将python3.8 升级为python3.10并进行版本切换

ubuntu 将python3.8 升级为python3.10并进行版本切换

  • 前言
  • 将python3.8 升级为3.10
  • 安装pip
  • python版本切换

前言

有一个功能包编译环境需要为python3.10 ,但是当前环境为python3.8 ,所以需要进行版本升级,编译完还需要把环境切换回来。

将python3.8 升级为3.10

更新系统: 首先,确保系统是最新的。打开终端并输入以下命令:

sudo apt update
sudo apt upgrade

安装Python 3.10
使用apt来安装Python 3.10。输入以下命令:

sudo apt install python3.10

通过apt安装显示

E: 无法定位软件包 python3.10
E: 无法按照 glob ‘python3.10’ 找到任何软件包
在这里插入图片描述

可能是因为Python 3.10尚未包含在发行版的默认仓库中

添加Debian的测试仓库,添加Debian的实验性仓库均未解决问题

只能通过源码安装,终于成功

安装构建Python所需的工具和库

sudo apt install -y build-essential libssl-dev zlib1g-dev libbz2-dev \
libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \
xz-utils tk-dev libffi-dev liblzma-dev python-openssl git

从Python的官方网站下载Python 3.10的源码包:

wget https://www.python.org/ftp/python/3.10.0/Python-3.10.0.tgz

完成后主目录下面出现Python-3.10.0.tgz压缩包
在这里插入图片描述
解压源码包:

tar -xvf Python-3.10.4.tgz

进入解压后的目录,运行configure脚本,准备构建过程:

cd Python-3.10.4
./configure --enable-optimizations

编译和安装Python: 构建Python,这可能需要一些时间:

make -j 8  # 根据CPU核心数调整-j参数

安装Python:(使用altinstall而不是install是为了避免覆盖系统自带的Python 3版本)

sudo make altinstall

检查Python 3.10是否安装成功:

python3.10 --version

输出这样代表成功
在这里插入图片描述

安装pip

Python 3.10默认不包含pip,因此您需要单独安装它:

下载pip源代码:

wget https://bootstrap.pypa.io/get-pip.py

安装pip

sudo python3.10 get-pip.py

验证 pip 是否安装成功

python3.10 -m pip --version

输出这样代表成功
在这里插入图片描述

python版本切换

电脑中存在多个版本,在进行不同功能包运行时,则需要进行版本切换

设置默认Python版本(可选): 如果您希望将Python 3.10设置为默认的Python版本,您需要更新update-alternatives。

输入以下命令:

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 2
sudo update-alternatives --config python3

在没设置之前
在这里插入图片描述
换成了3.10.0
在这里插入图片描述

http://www.lryc.cn/news/510192.html

相关文章:

  • 3. Kafka入门—安装与基本命令
  • 如何使用 python创建图片格式转换器
  • 命令行之巅:Linux Shell编程的至高艺术(上)
  • 【gulp】gulp 的基本使用
  • Linux 下处理 ^M 字符的最佳实践
  • 【优选算法】—复写零(双指针算法)
  • 2024国赛A问题三和四
  • asp.net 高校学生勤工俭学系统设计与实现
  • 《计算机组成及汇编语言原理》阅读笔记:p116-p120
  • C# OpenCvSharp DNN 卡证检测矫正
  • Spring Boot 中 Map 的最佳实践
  • J-LangChain - 智能链构建
  • 开源低代码平台-Microi吾码 打印引擎使用
  • 【MySQL】索引 面试题
  • 【高阶数据结构】AVL树
  • 【Spring】基于XML的Spring容器配置——<bean>标签与属性解析
  • docker mysql5.7安装
  • HDR视频技术之十一:HEVCH.265 的 HDR 编码方案
  • 最新的强大的文生视频模型Pyramid Flow 论文阅读及复现
  • Effective C++ 条款 11:在 `operator=` 中处理“自我赋值”
  • 19、鸿蒙学习——配置HDC命令 环境变量
  • 初始 ShellJS:一个 Node.js 命令行工具集合
  • 网络工程师常用软件之PING测试工具
  • 深入探索仓颉编程语言:函数与结构类型的终极指南
  • Java 对象的内存分配机制详解
  • v8引擎垃圾回收
  • H5st5.0.0协议分析
  • 明达助力构建智能变电站新体系
  • Flink优化----FlinkSQL 调优
  • 机器学习(二)-简单线性回归