Linux(Ubuntu)环境下安装卸载Python3(避免踩坑)

news/2024/12/23 4:29:05/

一、安装

第一步:
进入/usr/local/目录,下载Python3,这里我下载的是python 3.8.10,如果要下载其他版本改下链接中的版本号,需与官网版本号对应。

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

第二步:
解压下载的Python-3.8.10.tgz,会解压到/usr/local/Python-3.8.10目录下

tar -zxvf Python-3.8.10.tgz

第三步:
修改安装目录名称

mv Python-3.8.10 python3

删除安装包Python-3.8.10.tgz

rm -rf Python-3.8.10.tgz

第四步:
配置下安装目录,安装到之前创建的目录/usr/local/python3,目的是下次想卸载python直接卸载该目录下的即可

cd python3
./configure --prefix=/usr/local/python3

第五步:
编译安装

make && make install

第六步:
建立软链接,相当于windows快捷方式

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

第七步:
将/usr/local/python3/bin加入PATH环境变量,这样就可以在任意目录下执行python3命令

vim ~/.bash_profile

进入vim编辑页面,然后输入a指令加入如下内容:

export PATH=$PATH:$HOME/bin:/usr/local/python3/bin

接着按[ESC]退出编辑,输入:wq命令并按回车键保存退出

第八步:
测试是否安装成功

python3 -V

不需要下载setuptools和pip,版本自带了。

其他注意点:
1、pip下载安装包默认到国外的网站,下载速度很慢,这时需要配置国内镜像源
配置永久清华镜像源:
修改 ~/.pip/pip.conf(没有就创建一个文件夹及文件。文件夹要加“.”,表示是隐藏文件夹)

mkdir ~/.pip
vim ~/.pip/pip.conf

添加以下内容

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host = pypi.tuna.tsinghua.edu.cn

注:windows下,直接在C:\Users\XXX\AppData\Roaming\pip目录中找到一个pip目录(没有就新建),找到文件pip.ini(没有就新建)

2、pip安装第三方库报错

pip install requests

在这里插入图片描述
pip版本需要和python版本对应,升级下最新版本解决

python3 -m pip install --upgrade pip

二、卸载

1、卸载python3及其依赖

sudo apt-get remove --auto-remove python3

2、清除python3

sudo apt-get purge --auto-remove python3

http://www.ppmy.cn/news/1350437.html

相关文章

推荐一款开源的跨平台划词翻译和OCR翻译软件:Pot

Pot简介 一款开源的跨平台划词翻译和OCR翻译软件 下载安装指南 根据你的机器型号下载对应版本,下载完成后双击安装即可。 使用教程 Pot具体功能如下: 划词翻译输入翻译外部调用鼠标选中需要翻译的文本,按下设置的划词翻译快捷键即可按下输…

在 Next 中, ORM 框架 Prisma 使用

Prisma 介绍 Prisma 是一个 ORM 框架,主要用于 Node.js 或 TypeScript 作为后端开发的应用,主要有三部分组成: Prisma Client:自动生成且类型安全的查询构建器,适用于 Nodex.js 和 TS;Prisma Migrate: 迁…

Prometheus服务器、Prometheus被监控端、Grafana、监控MySQL数据库、自动发现概述、配置自动发现、Alertmanager

目录 Prometheus概述 部署Prometheus服务器 环境说明: 配置时间 安装Prometheus服务器 添加被监控端 部署通用的监控exporter Grafana 概述 部署Grafana 展示node1的监控信息 监控MySQL数据库 配置MySQL 配置mysql exporter 配置mysql exporter 配置…

2 月 7 日算法练习- 数据结构-树状数组

树状数组 lowbit 在学习树状数组之前,我们需要了解lowbit操作,这是一种位运算操作,用于计算出数字的二进制表达中的最低位的1以及后面所有的0。 写法很简单: int lowbit(int x){return x &am…

C++笔记:类与对象的语法

文章目录 1 简单认识面向过程与面向对象1.1 面向过程1.2 面向对象 2 类的引入:struct -> class3 类的定义3.1 class 定义类的语法3.2 成员变量的命名建议 4 类的访问限定符4.1 class 和 struct 的区别4.2 C更喜欢用class定义类的原因 5 类的作用域5.1 声明定义合…

使用Arduino 配合TFT_eSPI库 实现合宙ESP32开发板 驱动ST7735S显示屏 显示自定义图片

1.根据针脚定义接线 查询官方文档针脚定义 ESP32C3-CORE开发板 - LuatOS 文档 将ESP32与7735屏幕一一相连。 接线如下(稍后在软件中定义针脚,也可以使用其他GPIO,但是这种接线挨在一起是最方便的) 2.Arduino下载TFT_eSPI库 打开侧…

从完成[flutter竖向显示文字]到对实现方式[Rich Text和Text Span]的一些整理

前言 完成的需求是竖向显示文字,而已有的RotatedBox虽然可以让文字内部控件进行指定角度的旋转,但是不能保持文字仍正常显示(它会因为旋转横着),遂尝试Rich Text和Text Span的方式,这两个我曾在android有略…

MogaNet实战:使用 MogaNet实现图像分类任务(二)

文章目录 训练部分导入项目使用的库设置随机因子设置全局参数图像预处理与增强读取数据设置Loss设置模型设置优化器和学习率调整策略设置混合精度,DP多卡,EMA定义训练和验证函数训练函数验证函数调用训练和验证方法 运行以及结果查看测试完整的代码 在上…