Virtualenv安装snowflake-connector-python时cmake命令执行失败求助
解决M1 Mac(Monterey 12.5)virtualenv中安装snowflake-connector-python的cmake构建问题
以下是几个可行的解决方案,按优先级排序:
方案1:优先使用预编译pyarrow包绕过源码编译
pyarrow是snowflake-connector-python的核心依赖,源码编译失败是问题根源,直接用适配M1的预编译包可快速解决:
- 先安装指定版本的预编译pyarrow:
(注:版本号可根据snowflake连接器的兼容要求调整,12.x版本适配M1且稳定性较好)pip3 install pyarrow==12.0.1 --only-binary :all: - 再安装snowflake连接器:
pip3 install snowflake-connector-python
方案2:手动指定cmake路径给pip
virtualenv的隔离环境在构建依赖时可能未正确继承系统PATH,直接指定cmake的绝对路径即可:
- 先确认系统中cmake的实际路径(brew安装的路径通常是
/opt/homebrew/bin/cmake,系统默认路径可能为/usr/local/bin/cmake),执行:CMAKE=/opt/homebrew/bin/cmake pip3 install snowflake-connector-python
方案3:更新构建工具后重试
老旧的pip、setuptools可能导致路径识别异常,先升级工具链:
- 执行更新命令:
pip3 install --upgrade pip setuptools wheel - 重新安装snowflake连接器:
pip3 install snowflake-connector-python
补充说明
问题核心原因:M1架构下,virtualenv的隔离环境在编译依赖时未正确加载系统PATH变量,导致pip无法找到已安装的cmake;同时pyarrow的源码编译对M1环境兼容性要求较高,使用预编译包是最直接的规避方式。
内容的提问来源于stack exchange,提问作者FunnyChef
相关产品推荐
相关产品推荐

