1. 安裝 Homebrew(如果未安裝)
Homebrew 是 macOS 上的包管理器,用來(lái)安裝 OpenSSL 非常方便。打開(kāi)終端執(zhí)行:
/bin/bash -c "$(curl-fsSLhttps://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
2. 安裝 OpenSSL 并配置環(huán)境變量
先安裝最新的 OpenSSL,然后告訴系統(tǒng)它的安裝路徑:
# 安裝 OpenSSL 3(Python 3.11+ 推薦使用)
brew install openssl@3
# 臨時(shí)配置環(huán)境變量(僅當(dāng)前終端有效)
export LDFLAGS="-L$(brew --prefix openssl@3)/lib"
export CPPFLAGS="-I$(brew --prefix openssl@3)/include"
export PKG_CONFIG_PATH="$(brew --prefix openssl@3)/lib/pkgconfig"
3. 重新編譯安裝 Python 3.11.1
# 清除之前的編譯緩存
pyenv uninstall -f 3.11.1
# 指定 OpenSSL 路徑重新安裝
CFLAGS="-I$(brew --prefix openssl@3)/include" \
LDFLAGS="-L$(brew --prefix openssl@3)/lib" \
pyenv install 3.11.1
如果你是手動(dòng)下載源碼編譯,執(zhí)行:
# 進(jìn)入 Python 源碼目錄(替換為你的實(shí)際路徑)
cd ~/Downloads/Python-3.11.1
# 清理之前的編譯殘留
make clean
# 配置編譯參數(shù)(指定 OpenSSL 路徑)
./configure--prefix=/usr/local/python3.11.1\--with-openssl=$(brew--prefixopenssl@3)
# 編譯并安裝
make && make install
4. 驗(yàn)證安裝是否成功
安裝完成后,驗(yàn)證 ssl 模塊是否可用:
# 如果用 pyenv,先切換版本
pyenv global 3.11.1
# 檢查 Python 版本和 ssl 模塊
python --version python -c "import ssl; print(ssl.OPENSSL_VERSION)"