MacOS执行pip install Twisted时setup编译停滞问题求助
解决Twisted安装时卡在编译raiser.c的问题
我之前碰到过一模一样的状况——你用的clang 4.2版本实在太老了,编译Twisted的raiser.c时会陷入无意义的循环停滞,完全没必要继续等下去。先把卡住的进程干掉:
# 找到并终止编译相关进程 pkill -f "clang"
接下来给你几个按优先级排序的解决办法,亲测有效:
1. 直接用预编译轮子(最省心)
旧版clang编译Twisted的C扩展很容易踩坑,直接跳过编译步骤用官方预编译的包:
# 先确保pip支持wheel格式 pip install wheel # 强制使用预编译包安装Twisted pip install Twisted --only-binary :all:
如果找不到适配你系统的预编译包,可以试试指定一个兼容性更好的旧版本Twisted:
pip install Twisted==20.3.0
2. 升级clang编译器
你的clang是2013年左右的版本,很多新代码的编译支持都不完善。升级编译器能从根源解决这类问题:
- 打开App Store更新Xcode到你的系统能支持的最新版本(更新后记得打开Xcode完成组件安装)
- 或者用Homebrew安装独立的现代clang:
brew install llvm # 临时把新clang加入环境变量(重启终端后需要重新执行) export PATH="/usr/local/opt/llvm/bin:$PATH" # 再重新安装Twisted pip install Twisted
3. 临时禁用编译器优化
如果暂时没法升级编译器,可以通过设置环境变量禁用优化,让老clang能顺利编译:
# 设置编译参数,关闭优化 export CFLAGS="-O0" # 执行安装 pip install Twisted
内容的提问来源于stack exchange,提问作者Thomas G.
相关产品推荐
相关产品推荐

