Mac下Python版本管理,适用于pyenv不起作用的情况

前言

声明:之前也在网上看到过可以使用pyenv来管理python版本,但由于作者的python安装路径实在是繁杂不堪,因此安装完成pyenv体验下来没有任何用处,但偶然发现vscode似乎可以看到各个python版本,因此写下这篇博客记录。

正文

最近学习python,发现自己之前稀里糊涂安装过好多个python版本,如图:

这其中有一部分是安装conda自带的python版本,还有一部分是使用homebrew安装的,还有一部分有可能是我在安装一些软件时自动下载了指定版本的python依赖。

从图中可以看出,python版本主要分为python 3.9python 3.11python 3.12python 3.13

从下图也可以看出确实如此:

不妨让我们观察一下图中各个python的安装路径,让我们先把目光放在最底下那个python 3.9.6上,这个python的安装路径有点意思,是在/usr/bin目录下,看起来像是系统自带的,在网上搜了一下,还真是,以下是我截取的一部分解释:

macOS在/usr/bin/下会有python3是由于历史遗留问题、系统兼容性需求、应用程序依赖以及方便开发者。macOS 系统长期以来都预装了 Python 环境,以支持一些基于 Python 的系统功能及应用程序。随着 Python 2 的退役,现代操作系统,包括 macOS,逐渐把标准的Python环境迁移到了 Python 3。系统兼容性需求使得 Apple 不得不在其系统中集成 Python 3 环境,以确保所有依赖Python 3的应用可以在没有用户手动安装Python环境的情况下正常运行。此外,将其放置于/usr/bin/目录下能够让系统用户及开发者方便地使用Python环境,而无需进行额外的配置。
原文链接

再让我们看向倒数第三个python 3.11.4版本的安装路径,是在/usr/local/bin目录下,这又是哪来的,我网上搜罗了一番,还真被我找到了原因,以下是一段摘要:

Homebrew官方脚本会根据是否是Arm64架构判断mac系统的芯片为Intel或者M1来选择安装路径为/usr/local/或者/opt/Homebrew/
原文链接

也就是说在早先年苹果从intel芯片过渡到m芯片的时候,homebrew的软件安装路径发生了从/usr/local/opt/homebrew的变化,而我正是在23年的时候安装过一次python,可能这个/usr/local下的python就是那时候安装的。

再看剩下的版本,可以分成三份来理解:

  1. 红色框中实际只有两个版本------python 3.13.0和python 3.12.4('base'和'miniconda'本质上是同一个),一个来自homebrew,一个来自miniconda
  2. 绿色框中是homebrew中的python3.12版本
  3. 黄色框中是homebrew中的python3.9版本

我心里有些疑惑,为什么homebrew/bin目录下有三个不同版本的python呢,于是我使用brew info @python[版本号]查看了三个版本python的信息,如下图所示:

3.9和3.12版本都是在2024年10月9日先后安装的,而3.13版本则是在2024年11月30日安装的,由于之前基本没有怎么折腾过python,因此鉴定为可能是homebrew更新自动安装的。

至此,所有的python来源都已经分析清楚,也算是实现人脑管理python版本了,以后有时间还是整个版本管理工具吧,太费事了。

=============================================

补档,pyenv问题已解决:解决pyenv versions没有列出系统的python版本

相关推荐
铉铉这波能秀5 小时前
LeetCode Hot100 中 enumerate 函数的妙用(2026.2月版)
数据结构·python·算法·leetcode·职场和发展·开发
毕设源码-赖学姐5 小时前
【开题答辩全过程】以 基于python的电影推荐系统为例,包含答辩的问题和答案
开发语言·python
敲键盘的生活5 小时前
MoneyPrinter重构之一:用nicegui调用大模型生成视频文案
python·重构·aigc·ai编程·ai写作
小邓睡不饱耶5 小时前
2026 CSDN榜单封神!3大热门技术+5个大厂案例,新手也能直接抄作业
python·ai
星辰_mya5 小时前
Elasticsearch线上问题之慢查询
java·开发语言·jvm
南极星10055 小时前
我的创作纪念日--128天
java·python·opencv·职场和发展
前端小菜袅5 小时前
PC端原样显示移动端页面方案
开发语言·前端·javascript·postcss·px-to-viewport·移动端适配pc端
码界筑梦坊5 小时前
327-基于Django的兰州空气质量大数据可视化分析系统
python·信息可视化·数据分析·django·毕业设计·数据可视化
Highcharts.js5 小时前
如何使用Highcharts SVG渲染器?
开发语言·javascript·python·svg·highcharts·渲染器
郝学胜-神的一滴5 小时前
超越Spring的Summer(一): PackageScanner 类实现原理详解
java·服务器·开发语言·后端·spring·软件构建