在 macos 下升级 python 有几种常见的方法,具体取决于你最初是如何安装 python 的。了解你的安装方式是关键。
首先,你需要知道你当前 python 版本以及它的安装路径。
- 检查 python 版本:
python --version # 可能指向 python 2.x python3 --version # 通常指向 python 3.x
- 检查 python 路径:
which python which python3
根据你 which 命令的输出,我们可以推断出安装方式。常见的安装方式有:
- macos 系统自带 python: 通常在
/usr/bin/python。不建议直接修改或升级系统自带的 python,因为它可能被 macos 的内部工具所依赖,直接操作可能导致系统不稳定。 - homebrew 安装: 通常在
/usr/local/bin/python3或/opt/homebrew/bin/python3(m1/m2 mac)。这是 mac 用户最推荐和最方便的管理 python 的方式。 - pyenv 安装: 通常在
~/.pyenv/shims/python。pyenv 是一个强大的 python 版本管理工具。 - anaconda/miniconda 安装: 通常在
~/anaconda3/bin/python或~/miniconda3/bin/python。anaconda 是一个全面的数据科学平台。 - 直接从 python 官网下载安装包 (pkg): 通常安装到
/library/frameworks/python.framework。
下面针对不同的安装方式讲解如何升级:
最推荐的方式:使用 homebrew (如果还没有安装,强烈建议安装)
homebrew 是 macos 上最流行的包管理器,也是管理 python 版本的最佳方式之一。
1. 安装 homebrew (如果尚未安装):
打开终端并运行:
/bin/bash -c "$(curl -fssl https://raw.githubusercontent.com/homebrew/install/head/install.sh)"
按照屏幕上的指示完成安装。
2. 升级 homebrew 本身:
brew update
3. 升级 python (如果已通过 homebrew 安装):
如果你的 python 3 是通过 homebrew 安装的,只需运行:
brew upgrade python
这会把 homebrew 版的 python 升级到最新稳定版本。
4. 如果你尚未通过 homebrew 安装 python 3,或者需要安装特定版本:
brew install python # 这会安装最新稳定版 python 3
5. 确保你的 path 环境变量正确设置:
homebrew 会自动将 /usr/local/bin (或 m1/m2 mac 上的 /opt/homebrew/bin) 添加到你的 path 中,确保 homebrew 安装的 python 优先于系统自带的。在你的 ~/.zshrc (macos catalina及更高版本默认) 或 ~/.bash_profile (旧版本) 中确认有类似以下的行:
export path="/usr/local/opt/python/libexec/bin:$path" # 对于 intel mac export path="/opt/homebrew/opt/python/libexec/bin:$path" # 对于 m1/m2 mac
或者更通用的,确保 homebrew 的 bin 目录在 path 前面:
export path="/opt/homebrew/bin:$path" # for m1/m2 mac export path="/usr/local/bin:$path" # for intel mac
更新后,运行 source ~/.zshrc 或 source ~/.bash_profile 使其生效。
6. 验证升级:
python3 --version which python3
现在 python3 应该指向 homebrew 安装的最新版本。
使用 pyenv (推荐用于管理多个 python 版本)
如果你需要在同一台机器上管理多个 python 版本(例如,项目 a 需要 python 3.8,项目 b 需要 python 3.10),pyenv 是一个绝佳的选择。
1. 安装 pyenv (如果尚未安装):
brew install pyenv
然后,你需要将 pyenv 初始化添加到你的 shell 配置文件。编辑你的 ~/.zshrc (或 ~/.bash_profile),添加以下行:
export pyenv_root="$home/.pyenv" export path="$pyenv_root/bin:$path" eval "$(pyenv init --path)" eval "$(pyenv init -)"
保存文件并运行 source ~/.zshrc。
2. 列出可用的 python 版本:
pyenv install --list
3. 安装新的 python 版本 (即升级):
选择你想要安装的最新版本,例如 python 3.11.x:
pyenv install 3.11.x # 将 x 替换为具体的最新补丁版本,如 3.11.4
4. 设置全局或局部 python 版本:
- 全局设置 (对所有 shell 会话生效):
pyenv global 3.11.x
- 局部设置 (仅对当前目录及其子目录生效):
进入你的项目目录,然后运行:
pyenv local 3.11.x
5. 验证升级:
python --version python3 --version which python which python3
pyenv 会通过修改 path 来“垫片” (shim) 你选择的 python 版本。
使用 anaconda/miniconda
如果你使用 anaconda 或 miniconda 管理 python 环境,升级方式如下:
1. 更新 conda 本身:
conda update conda
2. 升级基础环境中的 python (不推荐,最好创建新环境):
如果你想直接升级 base 环境中的 python,可以尝试:
conda update python
但更推荐的做法是创建新的环境来管理不同的 python 版本。
3. 创建一个新的环境并指定 python 版本:
conda create -n my_new_env python=3.11 conda activate my_new_env python --version
这样你就可以在不同的环境中切换,每个环境有自己独立的 python 版本和库。
从 python 官网安装包 (pkg) 升级
如果你最初是从 python 官网下载的 .pkg 安装包,你可以:
- 访问 python 官网: https://www.python.org/downloads/macos/
- 下载最新版本的 macos 安装程序。
- 运行下载的
.pkg文件。 它会引导你完成安装,并通常会安装在/library/frameworks/python.framework下的一个新版本目录中,并更新你的系统 path,使其指向最新的安装。
注意: 这种方法可能会安装多个 python 版本在你的系统上,并且可能需要手动管理 path,不如 homebrew 或 pyenv 灵活。
总结和最佳实践:
- 永远不要直接修改 macos 系统自带的 python (
/usr/bin/python)。 - 对于大多数 mac 用户,使用 homebrew 是最简单、最推荐的方式来安装和升级 python 3。
- 如果你需要管理多个 python 版本用于不同的项目,使用
pyenv是理想的选择。 - 如果你进行数据科学或机器学习工作,并且依赖大量的科学计算库,anaconda/miniconda 是一个强大的解决方案。
- 在升级 python 后,记得重新安装或更新你的项目依赖 (
pip install -r requirements.txt),因为 python 版本的变化可能会影响库的兼容性。 - 始终在一个新的终端会话或使用
source命令来确保 path 环境变量的更改生效,然后再检查 python 版本。
选择最适合你工作流程的方法。如果你是新手,homebrew 是一个很好的开始。
以上就是在macos下升级python几种常见方法的详细内容,更多关于macos下升级python的资料请关注代码网其它相关文章!
发表评论