Python2.7(Mac High Sierra)下无法安装cityhash求助
解决Python2.7 + Mac High Sierra安装cityhash失败的方案
我之前也帮别人处理过类似的问题,在Python2.7搭配Mac High Sierra的环境下安装cityhash确实容易踩坑,核心原因是老版本Python已经停止维护,和新系统的编译工具链兼容性不佳。给你几个一步步尝试的解决方案:
1. 先确保编译依赖的工具链正常
Mac上编译Python扩展需要Xcode命令行工具,先检查是否安装:
xcode-select --install
如果弹出安装窗口,跟着提示完成安装即可;如果提示已经安装,那这一步就跳过。另外要确保你同意了Xcode的许可协议,否则编译会失败,执行下面的命令确认:
sudo xcodebuild -license accept
2. 升级pip到Python2.7支持的最高版本
旧版本的pip可能无法正确处理包的编译流程,Python2.7能支持的最后一个pip版本是20.3.4,先升级:
pip install --upgrade pip==20.3.4
3. 尝试安装兼容旧环境的cityhash版本
最新版的cityhash可能已经放弃了Python2.7的支持,试试安装旧版本:
pip install cityhash==0.2.3
4. 如果还是编译失败,手动修改编译参数
如果上面的步骤都不行,那可能是clang编译器的警告被当成错误导致终止,你可以手动下载源码修改编译选项:
- 先下载cityhash 0.2.3的源码包,解压后进入目录
- 打开
setup.py,找到编译相关的参数部分,在extra_compile_args里添加忽略错误的参数,比如:extra_compile_args = ["-Wno-error=unused-command-line-argument-hard-error-in-future", "-Wno-error=deprecated-declarations"] - 然后执行安装:
python setup.py install
另外要确认你的虚拟环境确实是基于Python2.7创建的,创建的时候可以指定Python路径:
virtualenv -p /usr/bin/python2.7 venv,激活后再执行安装命令。
内容的提问来源于stack exchange,提问作者sajid
相关产品推荐
相关产品推荐

