开发者进阶:macOS下HomeBrew+Node/Python多版本环境最佳实践

93 阅读1分钟

安装HomeBrew

一键安装脚本直接复制到命令行直接执行即可。

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

Homebrew基本使用命令

# 查看配置
brew config
​
# 更新 Homebrew
brew update
​
#  搜索相关的包
brew search [关键词]# 查看包的信息
brew info [软件名]
 
# 查看已安装的包
brew list
​
# 更新某个软件
brew upgrade [软件名]# 清理所有软件的旧版
brew cleanup
​
# 卸载某个软件
brew uninstall [软件名]# 安装某个软件
brew install [软件名]# 安装cask软件
brew install --cask [软件名]

前置软件安装

# 安装/更新Xcode命令行工具
xcode-select --install
# 安装 wget
brew install wget
brew install readline sqlite3 xz zlib

macOS 自带的 OpenSSL 路径 / 版本不兼容,需通过 Homebrew 安装新版:

# 安装OpenSSL(根据Python版本选择)
## Python 3.10+ 推荐装openssl@3(新版)
brew install openssl@3
## Python 3.6-3.9 建议装openssl@1.1(兼容旧版)
# brew install openssl@1.1

将环境变量写入 shell 配置文件(macOS 默认是 zsh,若用 bash 需替换文件):

# 对于zsh(macOS 10.15+默认)
echo 'export OPENSSL_PREFIX=$(brew --prefix openssl@3)' >> ~/.zshrc
echo 'export CPPFLAGS="-I$OPENSSL_PREFIX/include"' >> ~/.zshrc
echo 'export LDFLAGS="-L$OPENSSL_PREFIX/lib"' >> ~/.zshrc
echo 'export PKG_CONFIG_PATH="$OPENSSL_PREFIX/lib/pkgconfig"' >> ~/.zshrc
​
# 生效配置
source ~/.zshrc
​
# 若用bash,替换为~/.bash_profile
# echo 'export OPENSSL_PREFIX=$(brew --prefix openssl@3)' >> ~/.bash_profile
# echo 'export CPPFLAGS="-I$OPENSSL_PREFIX/include"' >> ~/.bash_profile
# echo 'export LDFLAGS="-L$OPENSSL_PREFIX/lib"' >> ~/.bash_profile
# echo 'export PKG_CONFIG_PATH="$OPENSSL_PREFIX/lib/pkgconfig"' >> ~/.bash_profile
# source ~/.bash_profile

node开发环境安装

brew install nvm
# 查看nvm版本
nvm -v  
# 查看可安装node列表
nvm ls-remote  
# 查看已安装版本列表
nvm ls        
#  下载指定node版本,例:nvm install v16.18.0
nvm install 版本号  
​
# 使用指定版本,例:nvm use 16.18.0
nvm use 版本号        
​
#设置默认版本,每次启动终端都使用该版本,例:nvm alias default 16.18.0
nvm alias default     
# 当前使用的node版本号
node -v               

对于 Bash 用户,运行:

echo 'export NVM_DIR="$HOME/.nvm"' >> ~/.bash_profile
echo '[ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && . "/opt/homebrew/opt/nvm/nvm.sh"' >> ~/.bash_profile
echo '[ -s "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" ] && . "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm"' >> ~/.bash_profile

对于 Zsh 用户,运行:

echo 'export NVM_DIR="$HOME/.nvm"' >> ~/.zshrc
echo '[ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && . "/opt/homebrew/opt/nvm/nvm.sh"' >> ~/.zshrc
echo '[ -s "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" ] && . "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm"' >> ~/.zshrc

然后,使改动生效:

source ~/.bash_profile  # 对于 Bash 用户
source ~/.zshrc  # 对于 Zsh 用户

Python开发环境安装

安装pyenv

# 安装pyenv
brew install pyenv
# 查看版本
pyenv -v

pyenv镜像加速

Pyenv 安装 Python 时,经常由于安装包下载超时,导致安装失败。原因为Pyenv 会优先从官方下载,因此解决方法为配置国内下载地址。目前只有华为云提供符合官方约定(路径符合官方要求,如{MIRROR_URL}/3.12.9/Python-3.12.9.tar.gz)的下载地址 (mirrors.huaweicloud.com/python)。

echo 'export PYTHON_BUILD_MIRROR_URL="https://mirrors.huaweicloud.com/python"' >> ~/.zshrc
echo 'export PYTHON_BUILD_MIRROR_URL_SKIP_CHECKSUM=1' >> ~/.zshrc
source ~/.zshrc

pyenv基本使用命令

# 查看已安装的 Python 版本 
pyenv versions 

#查看当前使用的 Python 版本 
pyenv version

## 查看所有可用的 Python 版
pyenv install --list 

## 安装指定版本
pyenv install 3.13.9
pyenv install 3.12.9

## 安装指定版本,并输出安装日志
pyenv install -v 3.12.10

## 验证
python3 --version

## 卸载指定版本
pyenv uninstall 3.12.10

## 全局指定 Python 版本(影响所有项目)
pyenv global 3.12.9

## 局部指定 Python 版本(仅影响当前项目目录),指定后在当前项目目录内创建 .python-version 文件,保存版本信息
## 优先级高于 global
pyenv local 3.12.11

## 会话级指定 Python 版本(影响所有项目)
pyenv shell 3.12.11

## 查看 python 的安装目录
pyenv which python3

## 重新生成 pyenv 的 shims 目录中的可执行文件
pyenv rehash 

编辑 .profile 或者 .zshrc文件

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(pyenv init -)"' >> ~/.zshrc
source ~/.zshrc

如果在IDEA或者Pycharm的Terminal 输出的python3 -V 是3.10官方下载的,则说明未IDE微加载最新的 .zshrc 配置,在 IDEA Terminal 执行以下命令强制刷新:

# 清除 shell 命令缓存(避免缓存旧的 python3 路径)
hash -r
# 重新加载 .zshrc
source ~/.zshrc

安装poetry

‼️此步骤非常必要,否则会出现遇到urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED]>错误。该问题主要由自签名证书、本地证书缺失或代理干扰导致。出现这种情况原因一般是以下几种:

  • Python 3.12 是直接下载的官方安装包,但证书脚本文件没被安装。
  • 或者是用第三方方式装的 Python(比如 pyenv),没有自动配好证书。
  • 或者 macOS 系统本身缺失一些根证书。

解决方案:关闭ssl的CERTIFICATE_VERIFY_FAILED

echo 'export PYTHONHTTPSVERIFY=0' >> ~/.zshrc
source ~/.zshrc

poetry安装方案推荐使用pip3安装。推荐使用使用pip3安装,如果使用了官方脚本方案安装不行之后,可以使用卸载脚本进行卸载。

pip3安装方案

# 推荐使用使用
pip3 install --upgrade certifi
pip3 install poetry 

官方安装脚本方案

# 安装指定版本
curl -sSL https://install.python-poetry.org | python3 - --version 2.1.1

# 或者选择安装最新版本
curl -sSL https://install.python-poetry.org | python3 -

# 卸载安装(按需执行)
curl -sSL https://install.python-poetry.org | python3 - --uninstall

# 设置环境变量
echo 'export PATH="/Users/mac/.local/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

poetry常用命令如下

poetry --version
# 查看
poetry config --list