OSX环境下安装pwntools时unicorn模块安装失败的解决方案咨询
解决OSX上安装pwntools时unicorn模块的构建失败问题
我之前在M1/M2架构的Mac上安装pwntools时,也碰到过和你一模一样的unicorn构建错误——要么提示setup.py弃用,要么找不到头文件目录,折腾了好一会儿才搞定,给你几个亲测有效的解决办法:
方法1:先用Homebrew安装系统级Unicorn库(最推荐)
pip从源码编译unicorn在OSX上经常因为依赖缺失掉链子,先通过Homebrew装好系统级的Unicorn,就能跳过pip的源码构建步骤:
- 执行命令安装Unicorn:
brew install unicorn - 再安装pwntools,此时pip会自动复用系统已有的Unicorn库,不会再触发编译:
pip install pwntools
方法2:指定安装兼容OSX的unicorn旧版本
部分新版本的unicorn源码包在OSX上存在构建兼容性问题,试试安装一个经过验证的稳定版本:
pip install unicorn==2.0.1.post1
装完这个版本后,再执行pip install pwntools就能顺利完成安装。
方法3:手动编译安装unicorn源码(适合折腾党)
如果上面两种方法都没解决,你可以手动拉取unicorn源码并编译:
- 克隆仓库时记得带上
--recursive拉取子模块(这是pip安装时做不到的,也是头文件缺失的核心原因之一):git clone --recursive https://github.com/unicorn-engine/unicorn.git - 进入目录编译并安装:
cd unicorn ./make.sh sudo ./make.sh install - 最后再安装pwntools即可。
错误原因补充
你碰到的找不到/private/.../include/unicorn错误,本质是pip从PyPI拉取的unicorn源码包没有包含完整的依赖头文件(因为它依赖git子模块,而pip不会自动拉取子模块),同时OSX默认缺少编译所需的工具链依赖。用Homebrew预装好Unicorn就能完美避开这些问题。
内容的提问来源于stack exchange,提问作者Cheesewaffle
相关产品推荐
相关产品推荐

