Python 3.11环境安装TensorFlow Federated报错求助
解决Windows下Python3.11环境安装TensorFlow Federated的版本检测错误
问题原因
报错来自absl-py的旧版本:其setup.py中的Python版本检测逻辑存在bug,无法正确识别Python3.10+的版本号(会把3.11解析为3.1,判定为低于要求的3.4),而TensorFlow Federated安装时默认拉取了这个有问题的旧依赖。
解决方案
步骤1:手动安装修复版本检测bug的absl-py
先安装支持Python3.11的新版absl-py:
pip install absl-py>=1.4.0
(1.4.0及以上版本已修复版本检测逻辑,能正确识别3.10+版本)
步骤2:安装兼容Python3.11的TensorFlow Federated版本
执行以下命令安装支持Python3.11的TensorFlow Federated版本(以0.30.0为例,该版本正式支持Python3.11):
pip install tensorflow-federated==0.30.0
若需要最新兼容版,可根据TensorFlow Federated的版本发布说明替换对应版本号。
备选方案(强制跳过依赖自动解析)
如果上述步骤仍有问题,可先安装TensorFlow Federated并跳过依赖,再手动补装兼容依赖:
pip install tensorflow-federated==0.30.0 --no-deps pip install tensorflow>=2.12.0 tensorflow-model-optimization>=0.7.0 numpy>=1.24.0
补充说明
Python3.8能成功安装是因为旧版absl-py可以正确识别3.8的版本号(3.8≥3.4),但该环境下的依赖库版本较低,容易和其他现代库产生兼容性冲突,优先使用Python3.11+的解决方案。
内容的提问来源于stack exchange,提问作者Pinho
相关产品推荐
相关产品推荐

