You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python3.6调用tf.Session()报AttributeError,Python3.4正常求助

TensorFlow 1.7.0在Python3.6中调用tf.Session()报错的原因及解决办法

首先得说,这个报错其实和Python3.4/3.6的版本差异关系不大,核心问题大概率出在TensorFlow的版本或者安装状态上,咱们一步步捋:

为什么会出现这个报错?

你看到的AttributeError: module 'tensorflow' has no attribute 'Session',最常见的场景是在TensorFlow 2.x环境里调用了TF1.x的API——因为TF2.x默认移除了tf.Session()这类旧版执行模式的API,改用即时执行(Eager Execution)或者兼容模块。

虽然你说安装的是TF1.7.0,但有可能你的Python3.6环境里实际装的是更高版本的TF2.x:比如用pip3 install tensorflow没指定版本时,pip会自动拉取最新稳定版,而TF2.x是不支持直接调用tf.Session()的。

当然也有小概率是TF1.7.0安装过程中出现了损坏,导致核心模块缺失。

怎么验证和解决?

第一步:确认当前TensorFlow版本

先在Python3.6环境里跑一行代码确认真实版本:

import tensorflow as tf
print(tf.__version__)

如果版本是TF2.x:

有两种解决思路:

  • 降级到TF1.7.0:用pip强制重装指定版本
    pip3 uninstall tensorflow -y
    pip3 install tensorflow==1.7.0 --force-reinstall
    
  • 使用TF2.x的兼容模式:不用降级,直接兼容旧代码
    import tensorflow.compat.v1 as tf
    tf.disable_v2_behavior()  # 禁用TF2.x的即时执行模式
    sess = tf.Session()
    

如果版本确实是TF1.7.0但报错:

那大概率是安装损坏了,重新安装即可:

pip3 uninstall tensorflow -y
pip3 install tensorflow==1.7.0

补充说明

TF1.7.0本身是支持Python3.6的,所以Python版本不是导致报错的直接原因,不用纠结3.4和3.6的差异,重点放在TensorFlow的版本和安装状态上就好。

内容的提问来源于stack exchange,提问作者Afshin Oroojlooy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 03:59:33