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

导入TensorFlow时出现AttributeError: pyparsing无downcaseTokens属性

导入TensorFlow时出现AttributeError: module 'pyparsing' has no attribute 'downcaseTokens'错误

完整报错信息

AttributeError                            Traceback (most recent call last)
<ipython-input-19-456b3b208783> in <module>
----> 1 import tensorflow as tf

/opt/anaconda3/lib/python3.7/site-packages/tensorflow/__init__.py in <module>
     39 import sys as _sys
     40 
---> 41 from tensorflow.python.tools import module_util as _module_util
     42 from tensorflow.python.util.lazy_loader import LazyLoader as _LazyLoader
     43 

/opt/anaconda3/lib/python3.7/site-packages/tensorflow/python/__init__.py in <module>
     46 from tensorflow.python import data
     47 from tensorflow.python import distribute
---> 48 from tensorflow.python import keras
     49 from tensorflow.python.feature_column import feature_column_lib as feature_column
     50 from tensorflow.python.layers import layers

/opt/anaconda3/lib/python3.7/site-packages/tensorflow/python/keras/__init__.py in <module>
     25 
     26 # See b/110718070#comment18 for more details about this import.
---> 27 from tensorflow.python.keras import models
     28 
     29 from tensorflow.python.keras.engine.input_layer import Input

/opt/anaconda3/lib/python3.7/site-packages/tensorflow/python/keras/models.py in <module>
     22 from tensorflow.python.framework import ops
     23 from tensorflow.python.keras import backend as K
---> 24 from tensorflow.python.keras import metrics as metrics_module
     25 from tensorflow.python.keras import optimizer_v1
     26 from tensorflow.python.keras.engine import functional

/opt/anaconda3/lib/python3.7/site-packages/tensorflow/python/keras/metrics.py in <module>
     38 from tensorflow.python.framework import tensor_spec
     39 from tensorflow.python.keras import backend as K
---> 40 from tensorflow.python.keras.engine import base_layer
     41 from tensorflow.python.keras.engine import base_layer_utils
     42 from tensorflow.python.keras.engine import keras_tensor

/opt/anaconda3/lib/python3.7/site-packages/tensorflow/python/keras/engine/base_layer.py in <module>
     58 from tensorflow.python.keras.engine import node as node_module
     59 from tensorflow.python.keras.mixed_precision import autocast_variable
---> 60 from tensorflow.python.keras.mixed_precision import loss_scale_optimizer
     61 from tensorflow.python.keras.mixed_precision import policy
     62 from tensorflow.python.keras.saving.saved_model import layer_serialization

/opt/anaconda3/lib/python3.7/site-packages/tensorflow/python/keras/mixed_precision/loss_scale_optimizer.py in <module>
     18 from __future__ import print_function
     19 
---> 20 from tensorflow.python.distribute import collective_all_reduce_strategy
     21 from tensorflow.python.distribute import distribution_strategy_context
     22 from tensorflow.python.distribute import mirrored_strategy

/opt/anaconda3/lib/python3.7/site-packages/tensorflow/python/distribute/collective_all_reduce_strategy.py in <module>
     33 from tensorflow.python.distribute import distribute_utils
     34 from tensorflow.python.distribute import input_lib
---> 35 from tensorflow.python.distribute import mirrored_strategy
     36 from tensorflow.python.distribute import multi_worker_util
     37 from tensorflow.python.distribute import numpy_dataset

/opt/anaconda3/lib/python3.7/site-packages/tensorflow/python/distribute/mirrored_strategy.py in <module>
     32 from tensorflow.python.distribute import reduce_util
     33 from tensorflow.python.distribute import values
---> 34 from tensorflow.python.distribute.cluster_resolver import TFConfigClusterResolver
     35 from tensorflow.python.eager import context
     36 from tensorflow.python.eager import tape

/opt/anaconda3/lib/python3.7/site-packages/tensorflow/python/distribute/cluster_resolver/__init__.py in <module>
     29 from tensorflow.python.distribute.cluster_resolver.cluster_resolver import SimpleClusterResolver
     30 from tensorflow.python.distribute.cluster_resolver.cluster_resolver import UnionClusterResolver
---> 31 from tensorflow.python.distribute.cluster_resolver.gce_cluster_resolver import GCEClusterResolver
     32 from tensorflow.python.distribute.cluster_resolver.kubernetes_cluster_resolver import KubernetesClusterResolver
     33 from tensorflow.python.distribute.cluster_resolver.slurm_cluster_resolver import SlurmClusterResolver

/opt/anaconda3/lib/python3.7/site-packages/tensorflow/python/distribute/cluster_resolver/gce_cluster_resolver.py in <module>
     26 _GOOGLE_API_CLIENT_INSTALLED = True
     27 try:
---> 28   from googleapiclient import discovery  # pylint: disable=g-import-not-at-top
     29   from oauth2client.client import GoogleCredentials  # pylint: disable=g-import-not-at-top
     30 except ImportError:

/opt/anaconda3/lib/python3.7/site-packages/googleapiclient/discovery.py in <module>
     46 
     47 # Third-party imports
---> 48 import httplib2
     49 import uritemplate
     50 import google.api_core.client_options

/opt/anaconda3/lib/python3.7/site-packages/httplib2/__init__.py in <module>
     50     # idea is to have soft-dependency on any compatible module called socks
     51     from . import socks
---> 52 from . import auth
     53 from .error import *
     54 from .iri2uri import iri2uri

/opt/anaconda3/lib/python3.7/site-packages/httplib2/auth.py in <module>
     18 
     19 quoted_string = pp.dblQuotedString.copy().setName("quoted-string").setParseAction(unquote)
---> 20 auth_param_name = token.copy().setName("auth-param-name").addParseAction(pp.downcaseTokens)
     21 auth_param = auth_param_name + pp.Suppress("=") + (quoted_string | token)
     22 params = pp.Dict(pp.delimitedList(pp.Group(auth_param)))

AttributeError: module 'pyparsing' has no attribute 'downcaseTokens'

问题背景

该错误在导入httplib2时触发,原因是旧版本httplib2依赖pyparsing中已弃用的downcaseTokens函数。尝试过以下命令重装旧版本pyparsing,但问题未解决:

!pip install httplib2
!pip install --force-reinstall -v "pyparsing==2.4.2"

import pyparsing as pyparse 

!pip show pyparsing 
!pip show httplib2 

import httplib2 as pp 

解决方案

1. 重启Jupyter内核

重装依赖包后,Jupyter内核可能仍在加载旧版本的库,先重启内核再尝试导入TensorFlow。

2. 升级httplib2到兼容版本

新版httplib2已适配pyparsing 3.x,直接升级即可:

!pip install --upgrade httplib2>=0.20.2

3. 使用conda安装(适用于Anaconda环境)

若使用conda管理环境,优先用conda安装避免依赖冲突:

conda install -c conda-forge httplib2 pyparsing

4. 验证修复

执行以下代码确认依赖版本正常:

import pyparsing
print(f"pyparsing版本: {pyparsing.__version__}")
import httplib2
print("httplib2导入成功")
import tensorflow as tf
print("TensorFlow导入成功")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 04:35:14