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

news2024/11/17 20:27:18

啊,前段时间因为想尝试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.coloradmin.cn/o/1462546.html

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

相关文章

Apache Doris:从诞生到云原生时代的演进、技术亮点与未来展望

目录 前言 Apache Doris介绍 作者介绍 Apache Doris特性 Doris 数据流程 极简结构 高效自运维 高并发场景支持 MPP 执行引擎 明细与聚合模型的统一 便捷数据接入 Apache Doris 极速 1.0 时代 极速 列式内存布局 向量化的计算框架 Cache 亲和度 虚函数调用 SI…

Servlet(1)

文章目录 什么是ServletServlet 主要做的工作 第一个Servlet程序1.创建项目2. 引入依赖3. 创建目录1) 创建 webapp 目录2) 创建 web.xml3) 编写 web.xml 4. 编写代码5. 打包程序7. 验证程序 什么是Servlet Servlet 是一种实现动态页面的技术. 是一组 Tomcat 提供给程序猿的 AP…

Nginx配置组成与性能调优

目录 一、Nginx配置介绍 1. 模块组成 2. 图示 3. 相关框架 二. 配置调优 1. 全局配置 1.1 关闭版本和修改版本 1.2 修改启动的进程数 1.3 cpu与work进程绑定 1.4 pid路径 1.5 nginx进程的优先级(work进程的优先级) 1.6 调试work进程打开的文…

C++:static关键字

一、static成员变量(类变量、静态成员变量) 1、不属于类; 2、必须初始化; 3、同类中所有对象共享; 访问:类::类变量 , 对象.类变量 , 对象指针->类变量;底层都是类::类变量 …

3DSC特征描述符、对应关系可视化以及ICP配准

一、3DSC特征描述符可视化 C #include <pcl/point_types.h> #include <pcl/point_cloud.h> #include <pcl/search/kdtree.h> #include <pcl/io/pcd_io.h> #include <pcl/features/normal_3d_omp.h>//使用OMP需要添加的头文件 #include <pcl…

angular-引用本地json文件

angular-引用json文件&#xff0c;本地模拟数据时使用 在assets目录下存放json文件 大佬们的说法是&#xff1a;angular配置限定了资源文件的所在地&#xff08;就是assets的路径&#xff09;&#xff0c;放在其他文件夹中&#xff0c;angular在编译过程中会忽略&#xff0c;会…

jpg图片太大怎么压缩?3种压缩方法,一学就会

jpg图片太大怎么压缩&#xff1f;在日常生活和工作中&#xff0c;JPG图片过大不仅会导致存储空间的迅速消耗&#xff0c;还影响网络传输的速度&#xff0c;甚至在某些情况下&#xff0c;过大的图片文件还可能造成应用程序运行缓慢或崩溃&#xff0c;严重影响工作效率。因此&…

【Maven】介绍、下载及安装、集成IDEA

目录 一、什么是Maven Maven的作用 Maven模型 Maven仓库 二、下载及安装 三、IDEA集成Maven 1、POM配置详解 2、配置Maven环境 局部配置 全局设置 四、创建Maven项目 五、Maven坐标详解 六、导入Maven项目 方式1&#xff1a;使用Maven面板&#xff0c;快速导入项目 …

一周学会Django5 Python Web开发-Django5路由命名与反向解析reverse与resolve

锋哥原创的Python Web开发 Django5视频教程&#xff1a; 2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~共计25条视频&#xff0c;包括&#xff1a;2024版 Django5 Python we…

【PyTorch][chapter 17][李宏毅深度学习]【无监督学习][ Auto-encoder]

前言&#xff1a; 本篇重点介绍AE&#xff08;Auto-Encoder&#xff09; 自编码器。这是深度学习的一个核心模型. 自编码网络是一种基于无监督学习方法的生成类模型,自编码最大特征输出等于输入 Yann LeCun&Bengio, Hinton 对无监督学习的看法. 目录&#xff1a; AE 模型原…

【C++】字符类型和字符数组-string

STL-容器 - string 字符串必须具备结尾字符\0 #include<iostream> #include<string> using namespace std; //STL-容器 - string char ch[101];//字符串必须具备结尾字符\0 int main() {int n; cin >> n;for (int i 0; i < n; i) {cin >> ch[i];}…

js如何抛异常,抛自定义的异常

js如何抛异常,抛自定义的异常 最简单的自定义异常 throw "hello" 来自chrome123的控制台的测试 throw "hello" VM209:1 Uncaught hello &#xff08;匿名&#xff09; VM209:1 try{ throw "hello";}catch(e){console.log(e);} VM338:1 hello…

每日coding 337打家劫舍III

337. 打家劫舍 III 小偷又发现了一个新的可行窃的地区。这个地区只有一个入口&#xff0c;我们称之为 root 。 除了 root 之外&#xff0c;每栋房子有且只有一个“父“房子与之相连。一番侦察之后&#xff0c;聪明的小偷意识到“这个地方的所有房屋的排列类似于一棵二叉树”。…

08 按键消抖

在按键控制 LED中采用直接读取按键电平状态&#xff0c;然后根据电平状态控制LED。虽然直接读取按键电平状态然后执行相应处理程序的方法非常简单&#xff0c;但是这种方式可能存在误判问题&#xff0c;进而有可能导致程序功能异常&#xff0c;这是因为按键按下和松开时存在抖动…

WordPress后台自定义登录和管理页面插件Admin Customizer

WordPress默认的后台登录页面和管理员&#xff0c;很多站长都想去掉或修改一些自己不喜欢的功能&#xff0c;比如登录页和管理页的主题样式、后台左侧菜单栏的某些菜单、仪表盘的一些功能、后台页眉页脚某些小细节等等。这里boke112百科推荐这款可以让我们轻松自定义后台登录页…

定制学习风格、满足多元需求:Mr. Ranedeer 帮你打造 AI 家教 | 开源日报 No.178

JushBJJ/Mr.-Ranedeer-AI-Tutor Stars: 20.4k License: NOASSERTION Mr. Ranedeer 是一个个性化的 AI 辅导项目&#xff0c;主要功能包括使用 GPT-4 生成定制化提示&#xff0c;为用户提供个性化学习体验。其核心优势和特点包括&#xff1a; 调整知识深度以满足学习需求定制学…

Nginx 和 Apache 的比较

Nginx和Apache的对比 Nginx和Apache的优缺点比较 (1)nginx相对于apache的优点 ①轻量级&#xff0c;同样起web服务&#xff0c;比apache占用更少的内存及资源 ②抗并发&#xff0c;nginx处理请求是异步非阻塞的&#xff0c;而apache是阻塞型的在高并发下&#xff0c;nginx能保持…

9.vue学习笔记(组件传递Props校验+组件事件-组件传递数据+组件事件-配合“v-model”使用)

文章目录 1.组件传递Props校验1.1.默认值1.2.必选项1.3.注意事项&#xff1a;props 是只读的 2.组件事件-组件传递数据2.1.温馨提示&#xff1a;组件之间传递数据的方案 3.组件事件-配合“v-model”使用 1.组件传递Props校验 Vue组件可以更细致地声明对传入的 props 的校验要求…

基于JAVA+SpringBoot+Vue的前后端分离的电子商城

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取项目下载方式&#x1f345; 一、项目背景介绍&#xff1a; 在当今数字化时代&…

人工智能与机器学习行业新闻:颠覆企业运营方式的 AI 趋势

AI 推动业务转型 人工智能 (AI) 和机器学习已经在重塑各行各业的业务模式。AI 通过处理和整合数据支持战略决策的制定&#xff0c;其规模和速度远远超过了人脑。无疑&#xff0c;未来我们还将在 AI 领域取得许多重大突破&#xff0c;而拥有大量数据的行业可能会从人工智能革命…