M1 Pro Mac安装Odoo15依赖遇openssl编译错误求助
解决M1 Pro MacOS Ventura 13.0下Odoo15依赖编译错误问题
针对你遇到的cryptography和psycopg2编译时找不到OpenSSL库的问题,按以下步骤排查解决:
1. 确认Homebrew安装的OpenSSL版本与路径
M1芯片的Homebrew默认安装路径是/opt/homebrew,先查看当前安装的OpenSSL版本:
brew info openssl
输出会显示具体版本(如openssl@3)和安装路径,比如/opt/homebrew/opt/openssl@3,后续环境变量要和这个路径严格对应。
2. 正确设置环境变量(覆盖之前的配置)
在安装依赖前,执行以下命令设置环境变量(替换为你实际的OpenSSL路径):
export LDFLAGS="-L/opt/homebrew/opt/openssl@3/lib" export CPPFLAGS="-I/opt/homebrew/opt/openssl@3/include" export PKG_CONFIG_PATH="/opt/homebrew/opt/openssl@3/lib/pkgconfig"
如果需要永久生效,可将上述命令添加到~/.zshrc或~/.bash_profile中,执行source ~/.zshrc立即生效。
3. 重新安装依赖
安装psycopg2
优先使用预编译二进制包,避免编译环节出错:
pip install psycopg2-binary --no-cache-dir
如果必须源码编译,直接指定OpenSSL路径:
pip install psycopg2 --no-cache-dir --global-option=build_ext --global-option="-L/opt/homebrew/opt/openssl@3/lib" --global-option="-I/opt/homebrew/opt/openssl@3/include"
安装cryptography
同样指定OpenSSL路径完成编译:
pip install cryptography --no-cache-dir --global-option=build_ext --global-option="-L/opt/homebrew/opt/openssl@3/lib" --global-option="-I/opt/homebrew/opt/openssl@3/include"
4. 检查Xcode Command Line Tools完整性
编译依赖需要完整的开发工具支持,执行以下命令安装或重置:
xcode-select --install # 若已安装,重置确保路径配置正确 xcode-select --reset
常见问题排查
- 若切换虚拟环境后环境变量丢失,可在虚拟环境的
bin/activate文件末尾添加环境变量配置,确保激活虚拟环境时自动加载。 - 确认之前安装的旧版OpenSSL已卸载(如
openssl@1.1):brew uninstall openssl@1.1,避免不同版本的路径冲突。
内容的提问来源于stack exchange,提问作者unnamed-dev
相关产品推荐
相关产品推荐

