Mac卸载、安装Python

卸载

说明

对于删除 Python,我们首先要知道其具体都安装了什么,实际上,在安装 Python 时,其自动生成:

  • Python framework,即 Python 框架;
  • Python 应用目录;
  • 指向 Python 的连接。

对于 Mac 自带的 Python,其框架目录为:

  • /System/Library/Frameworks/Python.framework

而我们安装的 Python,其(默认)框架目录为:

  • ~/Library/Frameworks/Python.framework

卸载步骤

  1. python版本查看
$ python3 --version
Python 3.7.1
  1. 删除Python 3.7 框架:
$ ls /Library/Frameworks/Python.framework/Versions/
3.7
$ sudo rm -rf /Library/Frameworks/Python.framework/Versions/3.7
  1. 删除Python 3.7 应用目录:
$ cd /Applications
$ sudo rm -rf Python\ 3.7/ #Python 3.7存在空格

查看launchpad中python3的IDLE就被删除了

  1. 删除 /usr/local/bin 目录下指向的Python3.7 的连接:
$ cd /usr/local/bin/ 
$ ls -l /usr/local/bin
$ rm Python3.7相关的文件和链接 #Python3.7相关的文件和链接需要你自行确认

Python3.7 对应的文件和链接最好删除干净;无法确认的文件和链接就上网搜一下bing

  1. 删除python的环境路径
$ vi ~/.bash_profile

删除Python3.7设置的环境路径。

  1. 确认python是否已经删除
$ python3
-bash: python3: command not found
  1. pip需要同样操作

遇到的问题

卸载完后执行 which python 命令时,提示:python: aliased to /usr/local/bin/python3,但是找不到在哪里配置的

在 Mac 系统中执行 which python 命令时,提示 python: aliased to /usr/local/bin/python3 说明 Python 命令被别名为 /usr/local/bin/python3。这通常是由用户或系统管理员在系统的环境变量中进行配置的。

要找到配置的位置,可以按照以下步骤进行操作:

  1. 打开终端应用程序。
  2. 在终端中输入以下命令:
echo $PATH

这将显示系统的环境变量 PATH 的值。PATH 变量包含系统查找命令的路径列表。

  1. PATH 变量的值中查找包含 /usr/local/bin 的路径。这是因为别名为 /usr/local/bin/python3 的 Python 命令通常位于 /usr/local/bin 目录中。
  2. 如果在 PATH 变量中找到了包含 /usr/local/bin 的路径,则说明 Python 命令的别名是在系统的环境变量中进行配置的。如果没有找到,则可能是在其他位置进行配置的,例如在用户的 .bashrc.bash_profile 文件中。

要修改或删除 Python 命令的别名,可以按照以下步骤进行操作:

  1. 打开终端应用程序。
  2. 如果要修改别名,可以使用以下命令:
alias python=/usr/local/bin/python3

这将将 Python 命令的别名修改为 /usr/local/bin/python3

  1. 如果要删除别名,可以使用以下命令:
unalias python

这将删除 Python 命令的别名。

安装

安装包安装

  1. 在官网下载指定版本Python:https://www.python.org/downloads/macos/
    需要选择可安装版本
    在这里插入图片描述
  2. 现在完安装包后无脑下一步即可

brew 安装

要使用 Brew 安装指定的 Python 版本和 Pip,可以按照以下步骤进行操作:

  1. 首先,确保你已经安装了 Brew。如果没有,可以通过以下命令进行安装:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  1. 然后,使用以下命令搜索可用的 Python 版本:
brew search python
  1. 选择你要安装的 Python 版本,例如 python@3.9。使用以下命令进行安装:
brew install python@3.9
  1. 安装完成后,使用以下命令检查 Python 版本:
python -V

安装 pip

  1. 接下来,安装 Pip。Pip 是 Python 的包管理工具,用于安装和管理 Python 包。使用以下命令进行安装:
python -m pip install --upgrade pip
  1. 安装完成后,使用以下命令检查 Pip 版本:
pip -V

你可以使用 Pip 来安装其他 Python 包,例如:

pip install numpy

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

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

相关文章

网络冗余保护技术的研究与实现

摘要 .现在网络服务的安全性和可靠性变的越来越重要,如果网络中的网关设备出现问题,将会导致网络不能提供正常的服务。本文利用集群技术一一虚拟路由冗余协议(virtualRouterRedundaneyprotoeol,简称VRRP)来实现网关的高可用性,使得在一台网关设备宕机时,另外一个备份网关会及时…

mazing是什么软件?为什么选择iMazing

说起iOS设备管理工具,可能大家还有点陌生,其实就是Apple公司开发的移动设备,因其的操作系统是独特的iOS系统,所以又叫iOS设备。比如大家都在用的iPhone手机,就是这样类型的一个设备。 mazing是什么软件? iMazing是一…

【Linux】Ubuntu添加root用户

在Ubuntu中,默认情况下是禁用了root用户的登录。如果仍然想要启用root用户,并设置root用户的密码,应按照以下步骤进行操作: 一、输入sudo passwd root设置root用户密码 二、切换root用户 sudo -i su root 这两条命令均可却换至…

Rust语言入门教程(十) - Trait与泛型

Trait 与泛型 欢迎使用并贡献我的开源webhook工具: https://github.com/owenchenxy/rusthook/什么是Trait 在Rust中,没有类继承,或者说没有结构体的继承。但是,大多数的面向对象的语言都是有继承特性的,那Rust还算是一门面向对象的语言吗?实际上没有一个普适的定义来判断…

前端入门(四)Ajax、Promise异步、Axios通信、vue-router路由、组件库

文章目录 AjaxAjax特点 Promise 异步编程(缺)Promise基本使用状态 - PromiseState结果 - PromiseResult AxiosVue中使用AxiosAxios请求方式getpostput和patchdelete并发请求 Vue路由 - vue-router单页面Web应用(single page web application&…

Android HCI日志分析案例2

案例1--蓝牙音箱电量用完后,配对一直失败,提示PIN码不正确 基于MTK平台,通过MTKLogger开启保存HCI日志 问题定位分析 Android日志查看logcat 搜索到关键log 01-20 10:07:55.403760 978 1075 V bt_stack: [VERBOSE2:btm_inq.cc(2032)] …

编程实战:类C语法的编译型脚本解释器(三)

系列入口: 编程实战:类C语法的编译型脚本解释器(系列)-CSDN博客 本文讲解插件(自定义函数)的接口。 一、插件接口 //插件struct CPlugin{string plugin_name;Variable::types plugin_return_type;CPlugin(…

Stream

什么是Stream? 也叫Stream流,是jdk8开始新增的一套API,可以用来操作集合或者数组的数据 优势:Stream流大量的结合了Lambda的语法风格来编程,提供了一种更加强大,更加简单的方式操作集合或数组中的数据&am…

高防服务器的工作原理_Maizyun

随着互联网的快速发展,网络安全问题日益突出。高防服务器作为一种有效的网络安全防御手段,广泛应用于各种网络环境中。本文将详细介绍高防服务器的工作原理,帮助大家更好地理解其作用和优势。 一、高防服务器概述 高防服务器主要是指能够提…

详解Spring工厂是如何获取Aop中的代理对象的

😉😉 学习交流群: ✅✅1:这是孙哥suns给大家的福利! ✨✨2:我们免费分享Netty、Dubbo、k8s、Mybatis、Spring...应用和源码级别的视频资料 🥭🥭3:QQ群:583783…

Ext4文件系统解析(一)

1、前言 熟悉Linux操作系统的都应该或多或少的了解或者使用过Ext4文件系统。 接下来,会简单介绍Ext4文件系统的一些特性和工作原理。 2、常用概念 在介绍Ext文件系统之前,先简单描述一些相关概念。 块(Block):Ext文件系统存储分配的基本单…

【探索Linux】—— 强大的命令行工具 P.19(多线程 | 线程的概念 | 线程控制 | 分离线程)

阅读导航 引言一、 Linux线程概念1. 什么是线程2. 线程的概念3. 线程与进程的区别4. 线程异常 二、Linux线程控制1. POSIX线程库2. 创建线程 pthread_create() 函数(1)头文件(2)函数原型(3)参数解释&#x…

Spring MVC学习随笔-控制器(Controller)开发详解:控制器跳转与作用域(一)

学习视频:孙哥说SpringMVC:结合Thymeleaf,重塑你的MVC世界!|前所未有的Web开发探索之旅 第五章、SpringMVC控制器开发详解 三 5.1 核心要点 3.流程跳转 5.2 JavaWeb中流程跳转的核心回顾 5.2.1 JavaWeb中流程跳转的核…

[传智杯 #3 初赛] 课程报名

题目描述 传智播客推出了一款课程,并进行了一次促销活动。具体来说就是,课程的初始定价为 v 元;每报名 m 个学员,课程的定价就要提升 a 元。由于课程能够容纳的学生有限,因此报名到 n 人的时候就停止报名。 现在老师…

20231202_python练习_b站视频爬取(selenium浏览器模拟登录版)

首先手工登录一次获取cookies,然后进行数据保存 from selenium import webdriver from selenium.webdriver.chrome.service import Service from selenium.webdriver.common.by import By import time import json# 创建Chrome浏览器对象 chrome_opt webdriver.Ch…

网络入门---网络编程初步认识和实践

目录标题 前言准备工作udpserver.hpp成员变量构造函数初始化函数(socket,bind)start函数(recvfrom) udpServer.ccudpClient.hpp构造函数初始化函数run函数(sendto) udpClient.cc测试 前言 在上一篇文章中我们初步的认识了端口号的作用,ip地址和MAC地址在网络通信时…

QT 中 QProgressDialog 进度条窗口 备查

基础API //两个构造函数 QProgressDialog::QProgressDialog(QWidget *parent nullptr, Qt::WindowFlags f Qt::WindowFlags());QProgressDialog::QProgressDialog(const QString &labelText, const QString &cancelButtonText, int minimum, int maximum, QWidget *…

面试 Java 基础八股文十问十答第三期

面试 Java 基础八股文十问十答第三期 作者:程序员小白条,个人博客 ⭐点赞⭐收藏⭐不迷路!⭐ 21.说下Java8的Stream流的常用方法 答: forEach遍历、find、match进行匹配reduce进行归约,比如求和,乘,除聚合…

base64转PDF

今天做皖事通的对接,下载电子证照后发现回传的是base64,调试确认是个麻烦事,网上搜了一下没有base64转PDF的在线预览功能,只能自己写个调试工具了,以下是通过纯JS方式写的代码,可直接拿去使用: …

com.intellij.openapi.application.ApplicationListener使用

一般监听期通过如下代码生效 <applicationListeners> <!-- <listener class"com.itheima.taunt.MyApplicationListener"--> <!-- topic"com.intellij.openapi.application.ApplicationListener"…