AttributeError: module 'pyparsing' has no attribute 'downcaseTokens' when importing tensorflow

33 views Asked by At

I'm getting the follow dependency error when attempting to import tensorflow on a jupyter notebook: AttributeError: module 'pyparsing' has no attribute 'downcaseTokens'

The full error message is:

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'

The AttributeError appears when attempting to import httplib2, which is dependent on a deprecated function in 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 

I've tried importing an older version of pyparsing, but still drops the same error message.

0

There are 0 answers