insanum / gcalcli

Google Calendar Command Line Interface
MIT License
3.26k stars 307 forks source link

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

Open blades opened 2 years ago

blades commented 2 years ago

It looks like there's a problem using gcalcli with the latest version of the pyparsing library (3.0.4):

$ gcalcli

Traceback (most recent call last):
  File "/usr/bin/gcalcli", line 33, in <module>
    sys.exit(load_entry_point('gcalcli==4.3.0', 'console_scripts', 'gcalcli')())
  File "/usr/bin/gcalcli", line 25, in importlib_load_entry_point
    return next(matches).load()
  File "/usr/lib/python3.9/importlib/metadata.py", line 77, in load
    module = import_module(match.group('module'))
  File "/usr/lib/python3.9/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 850, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/usr/lib/python3.9/site-packages/gcalcli/cli.py", line 28, in <module>
    from gcalcli.argparsers import get_argument_parser, handle_unparsed
  File "/usr/lib/python3.9/site-packages/gcalcli/argparsers.py", line 8, in <module>
    from oauth2client import tools
  File "/usr/lib/python3.9/site-packages/oauth2client/tools.py", line 34, in <module>
    from oauth2client import client
  File "/usr/lib/python3.9/site-packages/oauth2client/client.py", line 39, in <module>
    from oauth2client import transport
  File "/usr/lib/python3.9/site-packages/oauth2client/transport.py", line 17, in <module>
    import httplib2
  File "/home/blades/.local/lib/python3.9/site-packages/httplib2/__init__.py", line 52, in <module>
    from . import auth
  File "/home/blades/.local/lib/python3.9/site-packages/httplib2/auth.py", line 20, in <module>
    auth_param_name = token.copy().setName("auth-param-name").addParseAction(pp.downcaseTokens)
AttributeError: module 'pyparsing' has no attribute 'downcaseTokens'

Reverting to an older version (2.4.2) got rid of the problem, but I thought I'd better mention it in case someone else experiences the issue and wonders what's going on. At some point in the future, this'll cause a breaking change, though.