MacOS High Sierra下pip安装Streamlit失败,疑与PyArrow、CMake相关
针对你遇到的PyArrow构建wheel时ModuleNotFoundError: No module named 'cmake'问题,结合MacOS 10.13的系统限制,给你几个针对性的解决步骤:
先确保系统CMake可用并配置PATH
用Homebrew安装/重装CMake:brew reinstall cmake检查CMake是否在系统PATH里:
echo $PATH | grep /usr/local/bin确保输出包含
/usr/local/bin(Homebrew安装的CMake默认在这个路径),然后验证版本:cmake --version要求版本≥3.18,PyArrow构建对CMake版本有最低要求。
在虚拟环境内安装Python版cmake包
激活你的虚拟环境(比如source your_venv/bin/activate),然后安装Python的cmake模块:pip install cmake系统级的CMake和Python环境的cmake模块是分离的,PyArrow构建时会优先调用Python环境内的cmake模块,这一步是关键。
指定兼容MacOS 10.13的PyArrow版本
新版本PyArrow已放弃支持MacOS 10.13,需锁定兼容的旧版本(比如10.0.1),先单独安装PyArrow:pip install pyarrow==10.0.1安装成功后再安装Streamlit:
pip install streamlitConda安装的修正方案
如果用Conda,要指定conda-forge频道并锁定PyArrow版本,避免拉取不兼容的包:conda install -c conda-forge pyarrow=10.0.1 streamlit备选:降级Python版本到3.8
Python 3.9/3.10在MacOS 10.13上的兼容性本身存在瑕疵,若上述步骤均无效,可尝试用Python 3.8创建虚拟环境后重复上述操作。
内容的提问来源于stack exchange,提问作者jgroshak

