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

升级Numpy至1.24后导入TensorFlow遇AttributeError的解决方法

解决TensorFlow 2.6.0与NumPy 1.24+的版本冲突问题

问题原因

TensorFlow 2.6.0的底层代码仍在使用np.object这个NumPy别名,但NumPy从1.20版本开始标记该别名废弃,1.24版本直接移除了它,导致导入TensorFlow时触发AttributeError: module 'numpy' has no attribute 'object'。

可行解决办法

  • 降级NumPy到兼容版本
    TensorFlow 2.6.0官方兼容的NumPy版本上限为1.19.x,执行以下命令降级:

    # pip环境
    pip install numpy==1.19.5
    # conda环境
    conda install numpy=1.19.5
    
  • 升级TensorFlow至兼容新版本NumPy的版本
    TensorFlow 2.8及以上版本已修复该兼容性问题,支持NumPy 1.24+。结合Python 3.8的版本支持,可升级到2.10.0等稳定版:

    pip install tensorflow==2.10.0
    
  • 临时应急补丁(不推荐长期使用)
    如果暂时无法修改版本,可在导入TensorFlow前手动给NumPy补全object属性:

    import numpy as np
    np.object = object
    import tensorflow as tf
    

    注意:此方法仅为临时 workaround,可能引发其他潜在问题,不建议在生产环境使用。

报错堆栈信息

import tensorflow as tf

Traceback (most recent call last):

  Cell In[7], line 1
    import tensorflow as tf

  File ~/opt/anaconda3/envs/profiler/lib/python3.8/site-packages/tensorflow/__init__.py:41
    from tensorflow.python.tools import module_util as _module_util

  File ~/opt/anaconda3/envs/profiler/lib/python3.8/site-packages/tensorflow/python/__init__.py:46
    from tensorflow.python import data

  File ~/opt/anaconda3/envs/profiler/lib/python3.8/site-packages/tensorflow/python/data/__init__.py:25
    from tensorflow.python.data import experimental

  File ~/opt/anaconda3/envs/profiler/lib/python3.8/site-packages/tensorflow/python/data/experimental/__init__.py:97
    from tensorflow.python.data.experimental import service

  File ~/opt/anaconda3/envs/profiler/lib/python3.8/site-packages/tensorflow/python/data/experimental/service/__init__.py:353
    from tensorflow.python.data.experimental.ops.data_service_ops import distribute

  File ~/opt/anaconda3/envs/profiler/lib/python3.8/site-packages/tensorflow/python/data/experimental/ops/data_service_ops.py:26
    from tensorflow.python.data.experimental.ops import compression_ops

  File ~/opt/anaconda3/envs/profiler/lib/python3.8/site-packages/tensorflow/python/data/experimental/ops/compression_ops.py:20
    from tensorflow.python.data.util import structure

  File ~/opt/anaconda3/envs/profiler/lib/python3.8/site-packages/tensorflow/python/data/util/structure.py:26
    from tensorflow.python.data.util import nest

  File ~/opt/anaconda3/envs/profiler/lib/python3.8/site-packages/tensorflow/python/data/util/nest.py:40
    from tensorflow.python.framework import sparse_tensor as _sparse_tensor

  File ~/opt/anaconda3/envs/profiler/lib/python3.8/site-packages/tensorflow/python/framework/sparse_tensor.py:28
    from tensorflow.python.framework import constant_op

  File ~/opt/anaconda3/envs/profiler/lib/python3.8/site-packages/tensorflow/python/framework/constant_op.py:29
    from tensorflow.python.eager import execute

  File ~/opt/anaconda3/envs/profiler/lib/python3.8/site-packages/tensorflow/python/eager/execute.py:27
    from tensorflow.python.framework import dtypes

  File ~/opt/anaconda3/envs/profiler/lib/python3.8/site-packages/tensorflow/python/framework/dtypes.py:585
    np.object,

  File ~/opt/anaconda3/envs/profiler/lib/python3.8/site-packages/numpy/__init__.py:305 in __getattr__
    raise AttributeError(__former_attrs__[attr])

AttributeError: module 'numpy' has no attribute 'object'.
`np.object` was a deprecated alias for the builtin `object`. To avoid this error in existing code, use `object` by itself. Doing this will not modify any behavior and is safe. 
The aliases was originally deprecated in NumPy 1.20; for more details and guidance see the original release note at:
    https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 00:22:30