程序媛的mac修炼手册-- 如何彻底卸载Python

啊,前段时间因为想尝试chatgpt的API,需要先创建一个python虚拟环境来安装OpenAI Python library.

结果,不出意外的出意外了,安装好OpenAI Python library后,因为身份认证问题,根本就没有获取API key的权限😂😂得,一顿操作猛如虎,结果全在自找堵。

然而,删了OpenAI Python library后,为其创建的python虚拟环境影响到了Mac的python环境配置。总之,不同的python环境开始打架了,代码是一点跑不了啊。

无奈,卸载重装Python,成为最迅捷的解决路径。可是,OpenAI Python library的python虚拟环境安装位置,和其他Python文件的安装位置不一致,导致我在卸载Python 过程中总是卸不干净,以下是卸载Python的经验历程血泪教训😂

目录

一、常规卸载Python路径

二、补充卸载Python路径

三、使用Homebrew卸载Python


前情提要:这里咱们主要针对的是,Monterey 12.3 及以后版本的macOS,如何彻底卸载自装的Python。Monterey 12.3及更早版本的macOS,系统预装了Python2,那是无法卸载的。

一、常规卸载Python路径

1、首先,在「应用程序」直接找到Python图标,然后「移到废纸篓」;

2、接下来,在「终端(terminal)」使用删除命令来删除Python的环境配置文件,通常在根用户目录下需要三条命令行来删:

rm -rf  /Applications/Python

3、如果你的Mac上装有多个版本的Python,那么这时候需要打开Python的环境配置文件夹,删除需要卸载的Python版本相关文件。

方法是:
打开“「访达(Finder)」“➡️ 点击Mac左上角的访达导航栏,点击 Go➡️在下拉框中选择Go to Folder ➡️ 然后在弹出的窗口中输入并选择“/Library/Frameworks/Python.framework”
打开Python.framework文件夹后,找到你需要删除的python版本文件夹。这时先打开「终端(terminal)」,敲下删除命令sudo rm -rf,然后把python版本文件夹拖到terminal中,如下图所示:(这一步需要输入验证管理员权限的密码)

如果你的Mac上只装有1个版本的Python,那在「终端(terminal)」使用以下删除命令,也可以得到相同效果。

rm -rf  /Library/Frameworks/Python.framework 
rm -rf  /usr/local/bin/python

 完成上述操作后,通常Mac上的Python就被卸载干净了。这时,在「终端(terminal)」中输入命令后,

python3 --version

会出现下图所示的反馈:

这说明,Mac上的python已经卸载干净了。

二、补充卸载Python路径

当然,也有人和我一样,完成上述常规卸载操作后,Mac上的Python稳如老狗。这时候就需要去犄角旮旯里找到Python的配置文件,进行一一删除。

谁能想到,我最终是执行以下命令,才把Python卸载干净的。😭😭
sudo rm -rf  /Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework
sudo rm -rf /Library/Developer/CommandLineTools/usr/bin/python3

每个人的情况不一样,咱们接下来讲基本方法。

最迅捷的方法是,打开「聚焦搜索(Spotlight Search)」,输入”python“,看看Mac上是否还有python相关文件。类似地,把相关文件拖到「终端(terminal)」中看文件储存路径,然后执行删除命令sudo rm -rf(空格)+ 文件路径。

Python安装通常会将可执行文件添加到/usr/local/bin文件夹中。上述步骤删除Python文件后,还需要删除任何匹配的Python可执行文件或syslink(到它的终端快捷方式),以避免以后出现兼容性问题。

要删除这些可执行文件,请打开「终端(terminal)」,并在终端中输入以下命令:

ls -l /usr/local/bin | grep ‘python’ 

上述命令执行后,将列出/usr/local/bin目录中所有包含单词‘python’的文件。找到你想卸载的Python版本相关联的文件,输入以下命令行,将file_name替换为你要删除的文件的实际名称。

sudo rm -rf /usr/local/bin/file_name


此时,你选择的Python版本的所有相关文件都将被删除。重复执行这些步骤,以删除与你要卸载的特定版本相关联的每个Python相关文件。

三、使用Homebrew卸载Python

如果你是用Homebrew在Mac上安装的Python,则可以按照以下步骤使用Homebrew卸载Python。

打开终端应用程序,键入并运行以下命令

brew list

这将列出你之前通过Homebrew安装的任何已安装软件包(例如,python@3.11代表Python 3.11),如下图所示:

要卸载这些Python软件包,需要在终端中键入并运行以下命令:

brew uninstall python_package

将python_package替换为你在上一步骤中识别出的正确软件包名称(例如,brew uninstall python@3.9)。

在删除软件包之后,键入并运行以下命令,以删除任何其他(现在不再需要的)文件。

brew cleanup python_package

将python_package替换为正确的名称(例如,brew cleanup python@3.9)。

到目前为止,使用Homebrew安装的Python版本已被移除。但是,如果你安装了多个版本的Python,可能需要重复这些步骤来移除下一个版本。

卸载干净了,是时候重装Python了,安装请参考这篇文章:
程序媛的mac修炼手册--小白入门Python篇-CSDN博客

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Redis之缓存穿透问题解决方案实践SpringBoot3+Docker

文章目录 一、介绍二、方案介绍三、Redis Docker部署四、SpringBoot3 Base代码1. 依赖配置2. 基本代码 五、缓存优化代码1. 校验机制2. 布隆过滤器3. 逻辑优化 一、介绍 当一种请求,总是能越过缓存,调用数据库,就是缓存穿透。 比如当请求一…

新版Java面试专题视频教程——多线程篇②

新版Java面试专题视频教程——多线程篇② 0. 问题汇总0.1 线程的基础知识0.2 线程中并发安全0.3 线程池0.4 使用场景 1.线程的基础知识2.线程中并发锁3.线程池3.1 说一下线程池的核心参数(线程池的执行原理知道嘛)3.2 线程池中有哪些常见的阻塞队列Array…

Java Web演化史:从Servlet到SpringBoot的技术进程及未来趋势

引言 在快速演进的IT世界里,Java Web开发始终屹立不倒,它不仅承担着历史的厚重,也始终面向未来。 自诞生之日起,Java Web技术就在不断地进化,以适应不同时代的需求。 本文将回顾Java Web开发的重要里程碑,…

django rest framework 学习笔记-实战商城2

01收货地址模型类和视图定义_哔哩哔哩_bilibili 本博客借鉴至大佬的视频学习笔记 地址信息的管理:增删改查的实现 # 序列化器配置 class AddrSerializer(serializers.ModelSerializer):"""收货地址的模型序列化器"""class Meta:mo…

喀秋莎画中画怎么设置 喀秋莎画中画视频怎么导出 喀秋莎什么意思 camtasia studio下载

画中画视频,顾名思义,就是在一个视频中有两个画面,游戏解说、微课等类型的视频常常就以画中画的形式出现。作为一款专业的视频编辑软件,使用camtasia可以轻松地制作画中画视频并导出。接下来我将为大家介绍:喀秋莎画中…

HEVC视频编解码标准学习笔记-1

视频编解码标准H.265/HEVC(High Efficiency Video Coding)通过将视频数据编码为更高效格式,大幅改善了视频流的压缩效率。这里主要介绍Tile、Slice和CTU的定义,以及介绍这些技术组件之间的相互关系。 CTU(编码树单元&…

Chrome插件精选 — 缓存清理

Chrome实现同一功能的插件往往有多款产品,逐一去安装试用耗时又费力,在此为某一类型插件挑选出比较好用的一款或几款,尽量满足界面精致、功能齐全、设置选项丰富的使用要求,便于节省一个个去尝试的时间和精力。 1. Chrome清理大师…

基于深度学习的红肉新鲜过期判决系统matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1 系统构成与流程 4.2 模型训练与优化 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 MATLAB2022a 3.部分核心程序 ...............................................…

phar反序列化原理及利用

phar是什么? phar 是 PHP 的一种归档文件格式,类似于 ZIP 或 TAR 文件,它可以包含多个文件和目录,并且可以像访问普通文件系统一样在 PHP 中进行访问。在php 5.3 或更高版本中默认开启 在php.ini中配置如下时,才能生成…

线性代数:线性方程组解的结构

目录 齐次/非齐次方程组的解 Ax 0 的解的性质 定理 Ax b 的解的性质 相关证明 例1 例2 例3 齐次/非齐次方程组的解 Ax 0 的解的性质 定理 Ax b 的解的性质 相关证明 例1 例2 例3

docker容器常见操作

目录 一、认识容器 1.1、docker用到的内核技术 1.2、namespace 1.3、Control Group 1.4、LXC与docker区别 二、docker环境准备 2.1、安装docker 2.2、docker daemon环境管理 三、镜像、容器和仓库 3.1、镜像常见操作 3.2、配置镜像加速器 命名空间 3.3、非官方镜像仓…

亿道丨防爆工业平板哪家好丨防爆平板电脑pad:防什么?

在爆炸性环境中,工作安全是至关重要的。防爆工业平板作为一种特殊设计的设备,不仅能够抵御爆炸风险,还提供高效的工作性能。本文将介绍防爆工业平板的防护功能以及其在各个行业中的应用。 在许多行业,如石油、化工、矿山和制药等领…

【RT-DETR有效改进】Best Paper | DAttention (DAT)可变形注意力机制和动态采样点

一、本文介绍 本文给大家带来的是RT-DETR改进DAT(Vision Transformer with Deformable Attention)的教程,其发布于2022年CVPR2022上同时被评选为Best Paper,由此可以证明其是一种十分有效的改进机制,其主要的核心思想是:引入可变…

考研高数(高阶导数的计算)

1.归纳法 常见高阶导数 2.泰勒展开式 3.莱布尼兹公式 4.用导数定义证明导函数在某一点连续的例题

亿道丨三防平板电脑厂商哪家好丨麒麟系统三防平板PAD

随着科技的飞速发展,人们对于移动设备的需求越来越高。然而,在不同的行业应用场景下,常规的智能平板往往无法满足特殊的工作要求。,亿道三防平板,将高可靠性与卓越性能高度结合,为各行各业提供卓越的移动解…

stm32——hal库学习笔记(ADC)

这里写目录标题 一、ADC简介(了解)1.1,什么是ADC?1.2,常见的ADC类型1.3,并联比较型工作示意图1.4,逐次逼近型工作示意图1.5,ADC的特性参数1.6,STM32各系列ADC的主要特性 …

华为OD机试真题-用连续自然数之和来表达整数-2023年OD统一考试(C卷)---python代码免费

题目: 代码 """ 题目分析: 一个整数 连续的自然数之和表示(非负整数)输入: 一个整数T[1,1000] 输出: 输出多个表达式,自然数个数最少优先输出 最后一行, 输出“Result : 个数…

[计网底层小探索]:实现并部署多线程并发Tcp服务器框架(基于生产者消费者模型的线程池结构)

文章目录 一.网络层与传输层协议sockaddr结构体继承体系(Linux体系)贯穿计算机系统的网络通信架构图示: 二.实现并部署多线程并发Tcp服务器框架线程池模块序列化反序列化工具模块通信信道建立模块服务器主体模块任务回调模块(根据具体应用场景可重构)Tips:DebugC代码过程中遇到…

4.Spring MVC入门

文章目录 1. HTTP协议2. Spring MVC2.1. 三层架构2.2. MVC(解决表现层的问题)2.3. 核心组件 3. Thymeleaf3.1. 模板引擎3.2. Thymeleaf3.3. 常用语法 代码 1. HTTP协议 网址:https://www.ietf.org/ (官网网址) https:…

oppo手机如何录屏?解锁录屏新功能!

“最近换了一款oppo手机,感觉它的拍照功能真的很强大。但除此之外,我发现oppo还有许多隐藏功能,比如录屏。但我尝试了很久,都没找到录屏的开关在哪里。有没有哪位oppo用户知道怎么打开这个功能呢?” 随着科技的不断发…
最新文章