如何解决MacBook Ubuntu平台安装alphatrade库时出现的‘Failed to build protlib when getting requirements to build wheel’错误?
解决Ubuntu on MacBook上安装alphatrade时的protlib构建错误
这个问题的根源在于你要安装的alphatrade依赖的protlib 1.5.0是一个非常过时的包——它的setup.py里用了use_2to3=True这个参数,而现代版本的setuptools已经彻底移除了对这个参数的支持(这个参数原本是用来自动把Python 2代码转换为Python 3的,现在早就不需要了),所以pip在构建protlib时会失败。
下面是两种可行的解决方法,推荐第二种更彻底的方案:
方法一:临时指定构建环境的setuptools兼容模式
虽然你本地已经安装了setuptools 57.5.0,但pip在构建包时会创建临时构建环境,可能拉取新版setuptools导致报错。你可以通过环境变量强制使用兼容模式:
SETUPTOOLS_USE_DISTUTILS=stdlib pip3 install alphatrade
这个命令会让构建环境使用Python标准库自带的distutils,而非新版setuptools的替代实现,从而兼容use_2to3参数。
方法二:手动修改protlib源码后安装(更可靠)
如果方法一无效,你可以直接修改protlib的源码,移除过时配置后手动安装:
- 下载protlib 1.5.0的源码包:
wget https://files.pythonhosted.org/packages/source/p/protlib/protlib-1.5.0.tar.gz - 解压并进入源码目录:
tar -xzf protlib-1.5.0.tar.gz cd protlib-1.5.0 - 编辑
setup.py文件:- 找到包含
use_2to3=True的行,直接删除或者用#注释掉 - 同时可以把包含
test_suite="tests.test_all"的行也注释掉(这只是个警告,不影响安装,但能清理输出)
- 找到包含
- 本地安装修改后的protlib:
pip3 install . - 现在再安装alphatrade就不会有问题了:
pip3 install alphatrade
完成以上步骤后,alphatrade应该就能顺利安装完成了。
内容的提问来源于stack exchange,提问作者mrsprawin
相关产品推荐
相关产品推荐

