Windows11下pip安装regressors报setup.py egg_info失败如何解决
Windows11下pip安装regressors失败的解决方案
核心原因
regressors库自2018年起已停止维护,直接执行安装命令报错属于兼容性问题,和网络、pip版本高低无直接关系:
- 库自带的
setup.py使用了新版setuptools已完全废弃的ez_setup引导逻辑,盲目升级setuptools反而会加剧兼容冲突 - 库硬编码依赖的
statsmodels==0.8.0、scipy<1.0.0等版本无Win11适配的预编译包,源码编译在Win11默认编译环境下必然失败 - 库内部分pandas、statsmodels接口调用写法已在新版本依赖中被移除
操作步骤
按顺序执行以下操作即可完成安装:
- 第一步:将setuptools、wheel降级到兼容旧包的版本,不要使用最新版
pip install setuptools==44.0.0 wheel==0.37.1
- 第二步:提前安装适配Win11、可兼容regressors逻辑的依赖版本,避免安装时自动拉取过老的依赖触发编译失败
pip install numpy==1.21.6 scipy==1.7.3 pandas==1.3.5 matplotlib==3.5.3 scikit-learn==1.0.2 statsmodels==0.13.2
注意:如果当前使用的是Python3.11/3.12版本,请先切换到Python3.7~3.10版本,3.11及以上版本无对应可用的依赖预编译包,无法完成安装
- 第三步:跳过依赖校验直接安装regressors本体,避免pip自动回滚到老版本依赖
pip install regressors --no-deps
- 第四步:手动修复接口兼容问题:找到当前Python环境的
site-packages/regressors目录,打开stats.py文件做两处修改:- 将所有
from statsmodels.formula.api import OLS替换为from statsmodels.regression.linear_model import OLS - 将所有
.argmax()、.argmin()的pandas Series调用替换为.idxmax()、.idxmin()
- 将所有
安装验证
进入Python交互环境执行以下代码,无报错即安装成功:
import numpy as np from regressors import regressors X = np.random.rand(100, 4) y = np.random.rand(100) clf = regressors.LinearRegression() clf.fit(X, y) print(clf.coef_)
如果执行完上述步骤仍报错,可直接下载regressors源码包到本地,删除
setup.py中所有和ez_setup相关的代码行,在源码目录执行python setup.py install完成本地安装即可,无需尝试其他网络流传方案。
内容的提问来源于stack exchange,提问作者Amit
相关产品推荐
相关产品推荐

