OSX M1 Mac Python3.9环境pip安装psycopg2报-lssl库找不到错误
M1 芯片 Mac 安装 psycopg2 报
library not found for -lssl解决 OSX 系统安装 psycopg2 时常见报错包括:
- 依赖库相关错误
- 编译器适配错误
- 安装完成后库导入错误
- 找不到pg_conf配置文件错误
排查修复pg_conf路径问题后,M1芯片设备上仍大概率碰到如下报错阻断安装:library not found for -lssl
问题对应环境
- 系统:OSX
- 硬件:M1 系列芯片 Mac
- Python 版本:3.9
这个报错的核心原因是M1芯片Mac上homebrew默认将openssl安装在/opt/homebrew/opt/openssl路径下,pip安装psycopg2编译时默认搜索Intel芯片时代的旧路径,找不到对应的ssl库就会抛出错误。
解决步骤
先通过homebrew安装必要依赖:
brew install openssl postgresql临时指定openssl头文件和库文件路径,执行安装命令:
env LDFLAGS="-L/opt/homebrew/opt/openssl/lib" \ CPPFLAGS="-I/opt/homebrew/opt/openssl/include" \ pip install psycopg2
如果需要安装预编译版本psycopg2-binary,将上述命令末尾的包名替换为psycopg2-binary即可
- 长期生效配置:如果不想每次安装相关依赖都手动加环境变量,将以下配置写入当前使用shell的配置文件即可:
zsh用户写入~/.zshrc,bash用户写入~/.bash_profile:
export LDFLAGS="-L/opt/homebrew/opt/openssl/lib" export CPPFLAGS="-I/opt/homebrew/opt/openssl/include"
写入后执行source 对应配置文件路径让配置立即生效,后续安装psycopg2就不会再触发ssl库找不到的报错。
内容的提问来源于stack exchange,提问作者Efren
相关产品推荐
相关产品推荐

