You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

M1 Mac安装psycopg2时出现ld: library not found for -lssl错误求助

解决M1 Mac上安装psycopg2时的-lssl链接错误

问题背景

环境:Mac Air M1 2021,OS Ventura 13.4.1,Python 3.9
安装psycopg2时触发以下链接错误:

ld: library not found for -lssl
clang: error: linker command failed with exit code 1 (use -v to see invocation)
error: command '/usr/bin/gcc' failed with exit code 1

已尝试brew install openssl并设置export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/opt/openssl/lib/、xcode-select --install,但问题未解决。

有效解决方案

方案1:安装预编译包(最简便)

直接安装psycopg2的预编译版本,跳过本地编译步骤:

pip install psycopg2-binary

方案2:正确配置OpenSSL路径后编译安装

M1架构下Homebrew的默认安装路径为/opt/homebrew(而非Intel Mac的/usr/local),之前的环境变量路径指向错误,导致编译器找不到ssl库。按以下步骤操作:

  1. 确保OpenSSL已安装:
    brew install openssl
    
  2. 临时设置环境变量(当前终端会话生效):
    export LDFLAGS="-L/opt/homebrew/opt/openssl/lib"
    export CPPFLAGS="-I/opt/homebrew/opt/openssl/include"
    export PKG_CONFIG_PATH="/opt/homebrew/opt/openssl/lib/pkgconfig"
    
  3. 执行psycopg2安装:
    pip install psycopg2
    

如果需要永久生效环境变量,可将上述export命令添加到你的shell配置文件(M1 Mac默认是~/.zshrc):

  • 编辑配置文件:nano ~/.zshrc
  • 添加环境变量内容后保存退出
  • 使配置生效:source ~/.zshrc
  • 再次执行pip install psycopg2

方案3:安装时直接指定编译参数

无需设置环境变量,直接在pip安装命令中传入OpenSSL路径参数:

pip install psycopg2 --no-cache-dir --global-option=build_ext --global-option="-L/opt/homebrew/opt/openssl/lib" --global-option="-I/opt/homebrew/opt/openssl/include"

内容的提问来源于stack exchange,提问作者Volear

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 00:52:40