使用Rasa时遭遇AttributeError错误:module 'pyparsing' has no attribute 'downcaseTokens' 求助
Hey there, let's get this frustrating Rasa issue sorted out for you! The error you're hitting boils down to a version conflict between the pyparsing library and a dependency Rasa relies on. Here's the breakdown and step-by-step fix:
The Root Cause
Your environment has a newer version of pyparsing installed, which removed the downcaseTokens method. But the oauth2client library (used by Rasa's Hangouts channel integration) still tries to call this old method, triggering the AttributeError you see in the traceback.
Step-by-Step Fix
Uninstall the incompatible pyparsing version
Run this command in yourrasanewAnaconda environment:pip uninstall pyparsing -yInstall a compatible older version
Version 3.0.9 of pyparsing still includes thedowncaseTokensmethod thatoauth2clientneeds. Install it with:pip install pyparsing==3.0.9Test your Rasa commands again
Now try runningrasa init,rasa train, or any other Rasa command you need—they should work without throwing the error.
Extra Tip
To prevent this from happening again, pin the pyparsing version in your requirements.txt file (if you have one) by adding this line:
pyparsing==3.0.9
Here's the full error traceback you shared for reference:
Traceback (most recent call last): File "c:\\users\\dell\\anaconda3\\envs\\rasanew\\lib\\runpy.py", line 193, in run_module_as_main "__main__", mod_spec) File "c:\\users\\dell\\anaconda3\\envs\\rasanew\\lib\\runpy.py", line 85, in run_code exec(code, run_globals) File "C:\\Users\\Dell\\anaconda3\\envs\\rasanew\\Scripts\\rasa.exe\\__main__.py", line 7, in <module> File "c:\\users\\dell\\anaconda3\\envs\\rasanew\\lib\\site-packages\\rasa\\__main__.py", line 118, in main cmdline_arguments.func(cmdline_arguments) File "c:\\users\\dell\\anaconda3\\envs\\rasanew\\lib\\site-packages\\rasa\\cli\\scaffold.py", line 235, in run init_project(args, path) File "c:\\users\\dell\\anaconda3\\envs\\rasanew\\lib\\site-packages\\rasa\\cli\\scaffold.py", line 130, in init_project print_train_or_instructions(args, path) File "c:\\users\\dell\\anaconda3\\envs\\rasanew\\lib\\site-packages\\rasa\\cli\\scaffold.py", line 69, in print_train_or_instructions training_result = rasa.train(domain, config, training_files, output) File "c:\\users\\dell\\anaconda3\\envs\\rasanew\\lib\\site-packages\\rasa\\api.py", line 106, in train from rasa.model_training import train_async File "c:\\users\\dell\\anaconda3\\envs\\rasanew\\lib\\site-packages\\rasa\\model_training.py", line 39, in <module> from rasa.core.agent import Agent File "c:\\users\\dell\\anaconda3\\envs\\rasanew\\lib\\site-packages\\rasa\\core\\agent.py", line 16, in <module> from rasa.core.channels.channel import OutputChannel, UserMessage File "c:\\users\\dell\\anaconda3\\envs\\rasanew\\lib\\site-packages\\rasa\\core\\channels\\__init__.py", line 26, in <module> from rasa.core.channels.hangouts import HangoutsInput # noqa: F401 File "c:\\users\\dell\\anaconda3\\envs\\rasanew\\lib\\site-packages\\rasa\\core\\channels\\hangouts.py", line 9, in <module> from oauth2client import client File "c:\\users\\dell\\anaconda3\\envs\\rasanew\\lib\\site-packages\\oauth2client\\client.py", line 39, in <module> from oauth2client import transport File "c:\\users\\dell\\anaconda3\\envs\\rasanew\\lib\\site-packages\\oauth2client\\transport.py", line 17, in <module> import httplib2 File "c:\\users\\dell\\anaconda3\\envs\\rasanew\\lib\\site-packages\\httplib2\\__init__.py", line 52, in <module> from . import auth File "c:\\users\\dell\\anaconda3\\envs\\rasanew\\lib\\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'
内容的提问来源于stack exchange,提问作者Omar

