Problem launching app (pyparsing AttributeError)


I am deploying my first Streamlit app, and I’m running into an issue. The requirements install successfully, but when the app tried to launch I get:

File "/home/appuser/venv/lib/python3.8/site-packages/httplib2/", line 20, in <module>

    auth_param_name = token.copy().setName("auth-param-name").addParseAction(pp.downcaseTokens)

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

This does not happen when deploying the app locally. I am using Python 3.8 both locally and in the app.

I tried searching for this issue, and evidently it can be fixed by using pyparsing==2.4.2, so I tried including that in the requirements. However, another package (zipp) uninstalls this version and installs 3.0.9, despite the fact that 2.4.2 should work (it lists a dependency of pyparsing!=3.0.5,>=2.0.2).

Any ideas? Thank you.

Steps to reproduce

My app code is here: are-you-a-cat/ at main · MarinaWyss/are-you-a-cat · GitHub

Debug info

  • Streamlit version: (get it with $ streamlit version) 1.14.0
  • Python version: (get it with $ python --version) 3.8
  • Using Conda? PipEnv? PyEnv? Pex? Pip
  • OS version: Mac OS Mojave 10.14.6
  • Browser version: Chrome 106.0.5249.119

Requirements file



Hey @MarinaWyss,

I was able to fork your repo and deploy the app here. I didn’t make any changes and it seems to be working – have you tried deleting and redeploying the app?

Hey Caroline,

Yeah, I did a hacky work-around to skip importing the problem library. I think it’s actually an issue with zenml, so nothing to do on the Streamlit side of things.