一、安装多版本的PYTHON

在macOS上,你可以通过Homebrew包管理器安装多个版本的Python

安装Homebrew

首先,如果你的macOS上没有安装Homebrew,需要先进行安装。打开终端(Terminal)并输入以下命令:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)

安装Python

然后,使用Homebrew来安装不同版本的Python。例如,安装Python 3.8:

brew install python@3.8

重复上述步骤,可以安装其他所需版本的Python

二、配置环境变量

配置环境变量是切换默认Python版本的关键一步。
修改 .zshrc.bash_profile

根据你使用的shell(在macOS Catalina或更高版本中,默认是zsh),你需要编辑你的.zshrc.bash_profile文件。

open -e ~/.zshrc  # 或使用 open -e ~/.bash_profile

设置PATH环境变量

which python3 # 查看位置 /usr/local/bin/python3
vim ~/.bash_profile

添加这个代码到文件中

PATH="/usr/local/bin:${PATH}"
export PATH
alias python="/usr/local/bin/python3"

让环境变量生效

source ~/.zshrc  # 或 source ~/.bash_profile

关闭终端,重新打开就行

验证Python版本

python --version

三、使用VERSION管理器

尽管手动切换环境变量可以更改默认的Python版本,但使用版本管理器更为方便,特别是在需要频繁切换版本的情况下。

安装pyenv
pyenv是一个流行的Python版本管理器。要安装它,可以使用以下命令:

brew update
brew install pyenv

初始化pyenv
安装完成后,在.zshrc或.bash_profile中初始化pyenv。

echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.zshrc

对于bash用户

echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.bash_profile
source ~/.zshrc  # 或 source ~/.bash_profile

使用pyenv安装并切换Python版本
使用下面的命令来安装新版本的Python:

pyenv install 3.8.0

切换全局Python版本:

pyenv global 3.8.0

验证版本切换
最后,验证当前的Python版本:

python --version

如果显示的是你通过pyenv设置的版本,则表明成功切换。

四、更新和维护

切换Python的版本后,可能需要重新安装依赖或者进行其他的维护操作。

安装pip依赖
在新的Python版本,你可能需要重新安装pip依赖:

pip install -r requirements.txt

更新pyenv和Python版本
随着时间的推移,pyenv和Python都可能发布新版本。为了保持最新,定期运行以下命令更新:

brew update
brew upgrade pyenv
pyenv install --list  # 查看可用的Python版本

通过这些步骤,你可以根据项目需求或个人偏好,轻松地在macOS上切换默认的Python版本。只要确保遵循合适的方法并小心操作,多版本共存不会对系统造成影响。参考链接
希望对你有用!

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

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

相关文章

AMD图形和计算架构:RNDA

AMD图形和计算架构:RNDA AMD RDNA 是 AMD 为显卡(GPU)设计的 图形和计算架构,专为高性能游戏、实时渲染和并行计算优化。目前已经迭代到 RDNA 3(如 RX 7000 系列显卡),与 NVIDIA 的 RTX 系列和…

ubuntu20.04配置go环境

下载go语言安装包 下载地址: All releases - The Go Programming Language 解压安装包 tar xfz go1.17.linux-amd64.tar.gz -C /usr/local 配置环境变量 编辑配置文件 vim ~/.bashrc # go env export GOROOT/usr/local/go export GOPATH$HOME/software/go ex…

Monorepo+Pnpm+Turborepo

以下是关于 Monorepo pnpm Workspace Turborepo 的详细解析,涵盖核心概念、技术优势、配置实践及协作机制,结合行业最佳实践总结。 一、Monorepo 的核心价值 Monorepo(单一仓库)指多个项目/模块共享同一代码库的管理模式&#…

【Springai】 2指定模型的三种方式(Ollama)

Springai 指定模型的三种方式(Ollama) 在实际开发中,Ollama 支持三种常用的模型指定方式: 1. 从 yml 配置读取默认模型 注意: 这是最基础、最推荐的方式,必须先配置好才能用自动注入的 OllamaChatModel。…

python | numpy小记(四):理解 NumPy 中的 `np.round`:银行家舍入策略

python | numpy小记(四):理解 NumPy 中的 np.round:银行家舍入策略 一、函数签名与参数说明二、“银行家舍入”策略三、基础示例四、与 Python 内建 round 的异同五、使用注意事项六、扩展用法:自定义舍入策略七、总结…

shell脚本定时执行收集Oracle大表的日分区及创建分区本地索引

近期业务上了一张大表,每日新增分区,每日分区数据量为3千万行。根据每日分区创建分区本地索引。同事添加定时收集前一日每日分区统计信息。 1、创建分区本地索引 (分区索引数量需要和分区name数量一致) create index nmld.add_event_occur_time on nmld.esa_event (occur…

使用 Spread.net将 Excel 中的文本拆分为多段

引言: 在 .NET 应用程序中处理 Excel 数据时,常常会碰到需要把文本拆分成多段的情况。例如在数据清洗、数据分析等场景下,将长文本按照特定规则拆分为多段能让数据更便于处理和分析。Spread.NET作为一款强大的 .NET 电子表格组件&#xff0c…

QT实现一个三轴位移台的控制界面

文章目录 0 引入1、圆形转盘2、其他3、引用 0 引入 本来想做一个酷炫的3D位移台控制程序,要有一个类似遥控器手柄那种界面,在网上找了半天也没有,想要有那种效果还要用异性按钮做,迫在眉睫的情况下,使用了自己的方法&…

Java 案例 6 - 数组篇(基础)

数组的平均值、最大(小)值。数组的反转 需求:开发一个程序。假设班级有8名学生,用户可以录入8名学生的Java成绩,成绩类型是小数,并输出平均分,最高分和最低分。 import java.util.Scanner; …

Java外观模式实现方式与测试方法

一、外观模式的实现方式 外观模式的核心是通过封装复杂子系统的调用逻辑,为客户端提供一个统一的简单接口。以下是实现步骤及示例: 定义子系统类 子系统类负责实现具体功能,与外观类解耦。例如,家庭影院系统中的投影仪、音响等组…

《解锁AudioSet:开启音频分析的无限可能》

音频新时代的 “密钥”:AudioSet 登场 在科技飞速发展的今天,音频作为信息传播与交互的关键媒介,早已渗透到现代科技的各个角落。从智能手机中的语音助手,让我们通过简单的语音指令就能查询信息、发送消息,到智能家居系…

50天50个小项目 (Vue3 + Tailwindcss V4) ✨ | ThemeClock(主题时钟)

&#x1f4c5; 我们继续 50 个小项目挑战&#xff01;—— ThemeClock组件 仓库地址&#xff1a;https://github.com/SunACong/50-vue-projects 项目预览地址&#xff1a;https://50-vue-projects.vercel.app/ 使用 Vue 3 的 Composition API 和 <script setup> 语法结…

直播预告丨聊聊Milvus 2.6新功能及背后的开发故事

7 月 1 日晚上 20:00-21:00&#xff0c;Zilliz 视频号直播间&#xff0c;Zilliz 合伙人和研发VP 栾小凡将带来《一步到位&#xff0c;详解 Milvus 2.6 新功能》的分享&#xff0c;带你拆解 Milvus 2.6 四大突破&#xff1a; 降本增效的底层架构开发者生产力拉满的新功能性能不打…

pyenv-win 配置指南​

在 Python 开发过程中&#xff0c;经常会遇到需要使用不同版本 Python 的情况。比如&#xff0c;旧项目依赖某个特定的 Python 版本&#xff0c;而新项目则要求使用更新的版本。这时&#xff0c;版本管理工具就显得尤为重要。pyenv-win就是一款专门为 Windows 系统设计的 Pytho…

MongoDB 常见查询语法与命令详解

MongoDB 作为文档型数据库&#xff0c;其查询语言基于 BSON&#xff08;二进制 JSON&#xff09;格式&#xff0c;与传统关系型数据库的 SQL 语法有较大差异。 一、基本查询命令 1. find()&#xff1a;查询文档 语法&#xff1a;db.collection.find(查询条件, 投影)示例&…

AlpineLinux安装docker

或许你在docker中使用 Alpine Linux 的镜像使用得多,但是有没有想过在 Alpine Linux 上安装 Docker 来使用呢?默认情况下,Docker 包位于社区仓库中,因此在使用包管理来安装docker之前建议更换为国内源,并开启社区仓库的链接。 下面的操作是在root用户下运行的,如果要使用…

docker安装gitlab并配置ssl证书

本篇安装环境 Docker版本&#xff1a;Docker version 28.3.0 域名&#xff1a;test.disallow.cn 自签证书&#xff1a;/etc/gitlab/ssl&#xff08;已经存放在该目录&#xff09; 一、拉取镜像 docker run -itd \--privilegedtrue \--hostname gitlab.test.disallow.cn \--p…

Java开发者转型AI时代的路径

Java开发者转型AI时代的路径 引言 随着人工智能技术的飞速发展&#xff0c;AI已不再是遥不可及的未来&#xff0c;而是深刻影响着各行各业的当下。对于Java开发者而言&#xff0c;面对AI浪潮&#xff0c;如何顺势而为&#xff0c;实现职业转型与技能升级&#xff0c;成为摆在…

QT6 源(140)模型视图架构里的视图总基类 QAbstractItemView:

&#xff08;1&#xff09;先给出本类的继承关系 &#xff1a; &#xff08;2&#xff09;Qt 已经预先为视图定义了键盘功能&#xff0c;Qt 大师们通过编程&#xff0c;已经完善了视图对键盘的响应操作 &#xff1a; &#xff08;3&#xff09;因为本类是抽象基类&#xff0c;无…

vue上传各种文件,并预览组件,(预览,下载),下载resources目录下文件

前端组件vue 最终效果 <template><div ><div class"file-list" v-if"existingFiles.length > 0"><div class"file-card" v-for"(file, index) in existingFiles" :key"file.id"><div clas…