使用pip安装Tensorflow时出现依赖包版本不兼容错误该如何处理
问题根因
该报错由全局环境中安装的旧版本astroid 2.3.2与TensorFlow要求的高版本six、wrapt依赖不兼容导致。你之前仅卸载six和wrapt无法解决问题,因为重新安装TensorFlow时会自动拉取符合其要求的高版本six、wrapt,而旧版astroid仍然存在,会再次触发冲突。
解决方案
按优先级从高到低选择即可:
方案1:使用虚拟环境隔离安装(最推荐)
虚拟环境可完全隔离不同项目的依赖,不会污染全局Python环境,也不会触发现有包的版本冲突:
- 打开PowerShell,cd到你要存放项目的目录,执行命令创建虚拟环境:
python -m venv tf-env - 执行命令激活虚拟环境:
.\tf-env\Scripts\Activate.ps1
如果执行时提示权限受限,先打开管理员权限PowerShell执行Set-ExecutionPolicy RemoteSigned,输入Y确认后再重复激活操作即可。 - 虚拟环境激活后,命令行前缀会出现
(tf-env)标识,直接执行安装命令即可:pip install tensorflow
方案2:升级全局astroid适配高版本依赖
如果不需要保留astroid 2.3.2版本,直接升级astroid即可解决版本兼容问题:
- 执行命令升级astroid:
pip install --upgrade astroid - 升级完成后重新执行TensorFlow安装命令即可:
pip install tensorflow
方案3:固定兼容版本安装(仅需保留astroid 2.3.2时使用)
如果必须保留astroid 2.3.2版本,可安装适配six==1.12、wrapt==1.11.*的旧版TensorFlow,执行命令即可:pip install tensorflow==2.3.0 six==1.12 wrapt==1.11.2
内容的提问来源于stack exchange,提问作者Rodo
相关产品推荐
相关产品推荐

