Mac-编程语言安装篇
Python安装
MacOS 系统通常会自带一个较老版本的 Python,通常可以通过打开终端,通过python --version或者python3 --version查看自带的python版本。
- 如果显示的是 Python 2.x.x,说明系统中预装了 Python 2,但由于 Python 2 已经停止维护,建议你安装并使用 Python 3。
- 如果显示的是 Python 3.x.x,说明系统中已经安装了 Python 3,但可能不是最新版本。如果你需要使用最新版本,可以继续按照以下步骤进行更新。
使用Homebrew安装Python3
Homebrew 是一款针对 macOS(以及 Linux 系统)的 包管理工具,它能帮助用户快速、便捷地安装、卸载、更新各种开源软件和命令行工具,类似于 Linux 系统中的 apt(Debian/Ubuntu)或 yum(CentOS)。
安装Homebrew的官方自动安装命令是:/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
但是国内因为网络的问题很容易失败,因此推荐使用国内的一些镜像源进行安装:
这里给出一个通过国内gitee安装的命令,该命令还会附带帮你配置后续Homebrew安装软件时的国内镜像源
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" |
安装成功后,可以通过brew -v查看版本信息。
之后我们可以通过brew install python来安装最新的python3,安装成功后可以通过python3 --version查看版本信息。
Python后续的软件包安装:
通过Homebrew管理的包有一个问题就是因为homebrew也是一个包管理工具,用他安装的python也归他管理,因此当后续需要使用python的pip命令安装全局依赖包时会和homebrew冲突,会被禁止使用pip。
解决办法有两种:
- 一种就是在一个特别的项目中创建一个虚拟环境,这就像为你的项目创建一个干净、独立的 Python “房间”,你在里面安装的任何包都只属于这个项目,不会影响到系统或其他项目。
- 另一种就是使用Homebrew来安装包,但是homebrew一般只管理一些大型包,对于一些纯python库可能安装不了。因此如果实在需要使用homebrew安装的话,需要先查找包是否存在
brew search xyz,如果找到了该包,就可以使用brew install xyz来安装了。
Rust安装
打开终端并输入下面命令:
curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh |
这个命令将下载一个脚本并开始安装 rustup 工具,此工具将安装 Rust 的最新稳定版本。可能会提示你输入管理员密码。
但是由于 Rust 官方服务器位于国外,直接按照 Rust 官网指南安装时可能会遇到下载速度慢或失败的问题。通过使用国内镜像,可以显著提升安装和更新的效率。
安装示例(以清华源为例)
- 将以下环境变量添加到 ~/.bashrc 或其他 Shell 配置文件中,使其成为全局变量:
export RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup |
- 运行安装命令:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh |
如果安装成功,将出现下面这行:
Rust is installed now. Great! |
OK,这样就已经完成 Rust 安装啦。
[安装 C 语言编译器:(非必需)]
Rust 对运行环境的依赖和 Go 语言很像,几乎所有环境都可以无需安装任何依赖直接运行。但是,Rust 会依赖 libc 和链接器 linker。所以如果遇到了提示链接器无法执行的错误,你需要再手动安装一个 C 语言编译器:
macOS 下:
$ xcode-select --install |
为什么不像Python一样用Homewbrew包安装Rust?
答案很简单:因为 Rust 的官方安装工具 rustup 本身就是一个强大的版本管理器,而 Python 的官方安装包则不具备这个能力。 我们选择工具是为了解决问题,而两门语言官方工具的能力不同,导致了我们选择的路径也不同。
下面我们来详细对比一下。
Rust 和 Python 官方工具的核心差异
| 特性 | Rust (官方 rustup) |
Python (官方 python.org 安装包) |
|---|---|---|
| 自带版本管理? | ✅ 是,而且非常强大。rustup 的核心功能就是管理和切换版本。 |
❌ 否。它只是一个简单的安装程序,负责把单一版本的 Python 安装到你的系统中。 |
| 多版本共存? | 非常简单。rustup install stable, rustup install nightly 可以一键安装多个版本,并通过 rustup default 轻松切换。 |
非常困难。如果你用官方安装包安装了 3.11,又安装了 3.12,它们会互相干扰,你需要手动管理 PATH 环境变量,极易出错。 |
| 卸载与清理? | 非常干净。一个命令 rustup self uninstall 就能把所有 Rust 相关的东西从你的电脑上彻底移除。 |
非常麻烦。你需要手动去多个系统目录下删除文件和文件夹,很容易有残留。 |
| 与系统关系? | 清晰分离。rustup 把所有东西都安装在你的用户主目录 (~/.rustup, ~/.cargo),不干扰系统。 |
与系统混合。它会将文件安装到 /Library/Frameworks, /usr/local/bin 等系统级目录中。 |
结论就是:rustup 是一个“授人以渔”的工具,它给了你管理所有鱼(Rust 版本)的能力。而 Python 的官方安装包是“授人以鱼”,一次只给你一条鱼(一个 Python 版本)。
为什么在 Python 上 Homebrew 是更好的选择?
正是因为 Python 的官方安装包存在上述的那些“短板”,我们才需要一个更好的工具来解决这些问题,而 Homebrew 就扮演了这个角色。
解决了 macOS 自带 Python 的问题
macOS 系统本身会预装一个非常老的 Python(位于/usr/bin/python3),这个版本是给操作系统自己用的,我们绝对不能去修改或卸载它,否则可能导致系统不稳定。我们需要一个完全独立、干净的 Python 环境。解决了多版本共存的问题
Python 官方安装包做不到的事情,Homebrew 可以。你可以非常方便地安装多个独立的 Python 版本:# 安装 Python 3.11
brew install python@3.11
# 安装 Python 3.12
brew install python@3.12Homebrew 会把它们妥善地安装在各自的目录中,并为你处理好基础的路径问题,避免了手动安装的混乱。
提供了更方便的管理
用brew安装的 Python,可以通过brew list,brew info python@3.12,brew uninstall python@3.12等命令来方便地查看和管理,这比手动删除文件要安全和简单得多。
总结与最终答案
对于 Rust:它的官方工具
rustup已经是一个完美的版本管理器了,我们不需要任何其他工具,直接用官方的就好。对于 Python:它的官方安装包能力不足,无法胜任现代开发中多版本管理的需求。因此我们需要更强大的第三方工具。
- 好方案:直接使用 Homebrew (
brew install python@3.12) 来安装和管理 Python 版本。 - 最佳方案:使用 Homebrew 安装
pyenv(brew install pyenv),然后用pyenv来全权管理 Python 版本。这让你在 Python 上获得了和 Rustrustup一样强大和灵活的体验。
- 好方案:直接使用 Homebrew (
所以,我们推荐在 Mac 上用 Homebrew 来处理 Python,本质上是因为 Homebrew(或通过它安装的 pyenv)为 Python 补齐了官方工具缺失的版本管理能力。


