MacOS 13环境下无法安装TensorFlow==2.14.0及适配PhaseNet的问题求助
问题描述
我在使用PhaseNet时,要求安装TensorFlow==2.14.0,但执行pip install tensorflow==2.14.0时出现以下报错:
ERROR: Could not find a version that satisfies the requirement tensorflow2.14.0 (from versions: 2.16.0rc0, 2.16.1, 2.16.2, 2.17.0rc0, 2.17.0rc1, 2.17.0, 2.17.1, 2.18.0rc0, 2.18.0rc1, 2.18.0rc2, 2.18.0)
ERROR: No matching distribution found for tensorflow2.14.0
尝试安装TensorFlow 2.16.1后,运行PhaseNet时又出现报错:
File "/opt/anaconda3/envs/phasenet/lib/python3.12/site-packages/tensorflow/python/util/lazy_loader.py", line 207, in getattr
raise AttributeError(
AttributeError:conv2dis not available with Keras 3.
解决建议
1. 检查Python版本兼容性
TensorFlow 2.14.0仅支持Python 3.8-3.11,若当前使用Python 3.12,pip会找不到对应版本。先确认Python版本:
python --version
如果是3.12,创建Python 3.8-3.11的虚拟环境(以conda为例):
conda create -n phasenet_env python=3.10 conda activate phasenet_env
激活环境后再执行pip install tensorflow==2.14.0。
2. 指定官方PyPI镜像源
若当前pip镜像源未同步旧版本,切换到官方源安装:
pip install tensorflow==2.14.0 -i https://pypi.org/simple/
3. 从GitHub源码编译安装
如果pip仍无法找到版本,直接从TensorFlow官方仓库编译对应版本:
- 克隆仓库并切换到2.14.0分支:
git clone https://github.com/tensorflow/tensorflow.git cd tensorflow git checkout v2.14.0
- 按照官方编译文档配置依赖(需安装bazel等工具),完成后编译安装。
4. 使用conda安装
conda仓库通常保留更多旧版本,尝试用conda安装:
conda install tensorflow==2.14.0
若conda默认频道找不到,添加conda-forge频道:
conda install -c conda-forge tensorflow==2.14.0
5. 备选:适配TensorFlow 2.16.1
如果实在无法安装2.14.0,可降级Keras到2.x版本(TF2.16默认搭载Keras3,而PhaseNet依赖旧版API):
pip install keras==2.16.0
重新运行PhaseNet,验证是否解决conv2d报错。
内容的提问来源于stack exchange,提问作者gwsmelo

