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

导入TensorPack的logger模块出现NameError,寻求解决方案

解决tensorpack导入logger时的NameError: name 'create_dummy_class' is not defined问题

嘿,我之前也碰到过类似的问题,这个报错本质是tensorpack内部的工具函数没被正确导入,或者环境兼容出了问题。咱们一步步来解决:

1. 优先调整tensorpack版本(最稳妥的方案)

你用的是Python2.7,这个版本早就停止维护了,新版tensorpack已经不再支持它,所以大概率是版本不匹配导致的内部导入bug。

  • 给Python2.7安装适配的旧版tensorpack:
pip install tensorpack==0.9.8

这个版本是最后一批对Python2.7友好的版本,能避开很多这类内部函数缺失的问题。

  • 如果能切换到Python3.x环境,直接装最新版tensorpack就行:
pip install --upgrade tensorpack

毕竟Python3才是现在的主流,后续也能避免更多兼容坑。

2. 补全pyarrow依赖

报错里提到了pyarrow,create_dummy_class本来是用来在pyarrow没装的时候生成一个占位类的,但现在这个函数没找到,也有可能是pyarrow缺失触发了这个分支,但函数没被正确导入。

给Python2.7装兼容的pyarrow版本(最后支持Python2.7的是0.17.1):

pip install pyarrow==0.17.1

3. 手动修复代码(临时救急)

如果上面的方法都不行,你可以临时改一下tensorpack的源码:

  • 找到这个文件:/home/wangtao/anaconda2/envs/tensorflow/lib/python2.7/site-packages/tensorpack/dataflow/parallel.py
  • 在文件最开头加上一行导入:
from tensorpack.utils.utils import create_dummy_class

这样代码就能找到这个函数了。不过这个方法是临时的,下次更新tensorpack会被覆盖,所以还是优先用前两种方法。

最后提一句:Python2.7真的该换了,现在很多库都放弃支持它了,迁移到Python3能省不少麻烦~

内容的提问来源于stack exchange,提问作者K.Wanter

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 04:21:30