macos 使用port查询并安装python2, python3多版本, 设置默认python版本方法

不管是新版macos还是旧版本的macos都可以使用macport这个包管理工具简单方便的在mac上面安装并存多个版本的python, 还可以利用port select --set python python3 来设置默认的python版本等.

port search查询可用python安装包

命令 port search --name --line --regex '^python(\d+)' 这里使用了正则来匹配可用的pyton安装包. 可见 port中的python安装包还是很全面的从python2.6到python3.12都有

bash 复制代码
~ % port search --name --line --regex '^python\d+'
python2_select	0.1	sysutils	Common files for selecting default Python 2 version
python3_select	0.1	sysutils	Common files for selecting default Python 3 version
python3_select-38	0.1	sysutils	Common files for selecting default Python 3 version
python3_select-39	0.1	sysutils	Common files for selecting default Python 3 version
python3_select-310	0.1	sysutils	Common files for selecting default Python 3 version
python3_select-311	0.1	sysutils	Common files for selecting default Python 3 version
python3_select-312	0.1	sysutils	Common files for selecting default Python 3 version
python3_select-313	0.1	sysutils	Common files for selecting default Python 3 version
python26	2.6.9	lang	An interpreted, object-oriented programming language
python27	2.7.18	lang	An interpreted, object-oriented programming language
python27-bootstrap	2.7.18	lang	An interpreted, object-oriented programming language
python32	3.2.6	lang	An interpreted, object-oriented programming language
python33	3.3.7	lang	An interpreted, object-oriented programming language
python34	3.4.10	lang	An interpreted, object-oriented programming language
python35	3.5.10	lang	An interpreted, object-oriented programming language
python36	3.6.15	lang	An interpreted, object-oriented programming language
python37	3.7.17	lang	An interpreted, object-oriented programming language
python38	3.8.19	lang	An interpreted, object-oriented programming language
python39	3.9.19	lang	An interpreted, object-oriented programming language
python310	3.10.14	lang	An interpreted, object-oriented programming language
python311	3.11.9	lang	An interpreted, object-oriented programming language
python312	3.12.5	lang	An interpreted, object-oriented programming language
python312-devel	3.12.0rc3	lang	Obsolete port, replaced by python312
python313-devel	3.13.0rc1	lang	An interpreted, object-oriented programming language

使用port install 安装python

这里我们以安装python312为例说明安装方法. 安装命令: sudo port install python312

port这个安装还是非常快的, 不像brew 在安装的时候经常会访问github获取资源,这个port 相关的依赖基本上都是走的加速镜像,非常快就安装好了.

使用port select --set设置当前系统中的默认python版本

在安装完成后,我们就可以使用以下命令将当前系统中的默认python版本设置为我们指定的版本. 下面的命令执行完毕后我们在系统中使用 python 就是默认的 python312

bash 复制代码
# 设置系统命令 python 的默认版本为 python312
sudo port select --set python python312

# 设置python3的默认命令为 python312
sudo port select --set python3 python312

这里的 port select --set xxx yyy 实际上就是由port来自动帮我们创建一个软连接, 连接的源为 yyy 目标为 xxx, 既 ln -s yyy xxx

验证一下

bash 复制代码
# 先生效一下环境设置
source ~/.bash_profile

# 验证python版本
python --version

# Python 3.12.5
相关推荐
cd988804 小时前
2026年,哪家电销机器人定制更灵活?
python
二十七剑4 小时前
LangGraph 源码深度解析:_branch.py 条件分支底层实现原理
python
BugShare4 小时前
Mac 上原生开发的开源免费、尽享丝滑数据库工具
数据库·macos·开源
javajenius4 小时前
Pixi:用 Rust 重写 Conda 体验的包管理工具
开发语言·其他·rust·conda
神明不懂浪漫4 小时前
【第二章】Java中的数据类型,运算符与程序逻辑控制
java·开发语言·经验分享·笔记
laowangpython4 小时前
tokio-rstracing:Rust 可观测性的标准答案
开发语言·后端·其他·rust
KaMeidebaby4 小时前
卡梅德生物技术快报|噬菌体展示文库构建全流程解析 | 大豆球蛋白纳米抗体筛选实践
人工智能·python·tcp/ip·算法·机器学习
傻啦嘿哟4 小时前
为什么Python没有块级作用域?
开发语言·python
CC数学建模4 小时前
2026年第十六届APMCM 亚太地区大学生数学建模竞赛(中文赛项)赛题B题:高性能芯片热管理系统的优化问题完整思路、代码、模型、文章,全网首发高质量分享!
python·算法·数学建模
Maydaycxc4 小时前
Python 实现 RPA + AI 自动化:大模型 OCR + 网页操作完整源码实战
人工智能·python·opencv·selenium·自动化·ocr·rpa