TensorFlow安装遇依赖冲突及absl模块缺失问题求助
TensorFlow Object Detection环境搭建问题解决指南
一、先修复absl模块缺失
这是最直接的问题,直接安装对应的包即可:
- 先激活你的Anaconda环境(替换成你自己创建的环境名,比如
tensorflow_env):conda activate tensorflow_env - 用pip安装
absl-py:
要是pip安装速度慢,也可以用conda安装:pip install absl-pyconda install -c conda-forge absl-py
二、解决object-detection与tf-models-official的依赖冲突
方案1:用官方推荐的源码安装方式(更稳定)
官方不建议直接pip安装object-detection==0.1,推荐通过TensorFlow Models仓库手动配置:
- 激活环境后,克隆官方仓库:
git clone https://github.com/tensorflow/models.git - 进入仓库的research目录:
cd models/research - 安装编译工具和依赖:
# 安装protobuf pip install protobuf # 编译Object Detection的proto文件 protoc object_detection/protos/*.proto --python_out=. # 安装TF2版本的依赖包 pip install -r object_detection/packages/tf2/requirements.txt - 添加当前路径到Python环境变量(临时生效,每次启动环境都要运行一次):
- Linux/macOS:
export PYTHONPATH=$PYTHONPATH:`pwd`:`pwd`/slim - Windows:
set PYTHONPATH=%cd%;%cd%\slim
- Linux/macOS:
方案2:指定版本强制安装(快速临时解决)
如果不想折腾源码,可以指定兼容的tf-models-official版本,再跳过依赖检查安装object-detection:
- 激活环境后,先安装兼容版本的
tf-models-official(比如2.11.0,注意要和你的TensorFlow 2.x版本匹配):pip install tf-models-official==2.11.0 - 跳过依赖检查安装
object-detection==0.1:
这种方式可能会导致其他依赖缺失,之后遇到类似pip install object-detection==0.1 --no-depsModuleNotFoundError就用pip安装对应的包即可。
三、验证环境是否正常
完成上述步骤后,运行测试脚本:
python object_detection/builders/model_builder_tf2_test.py
如果脚本运行没有报错,说明环境已经配置成功。
内容的提问来源于stack exchange,提问作者Imaginary
相关产品推荐
相关产品推荐

