Thanks for sharing your question with the community! Check out our guidelines on how to post an effective question here and please include links to your app, repo, and share the contents of your requirements file.
Streamlit looks at your requirements file’s filename to determine which Python dependency manager to use in the order described in App dependencies. Streamlit will stop and install the first requirements file found, which in your case is the Pipfile.
If you want the dependencies within requirements.txt to get installed, you have to delete Pipfile and reboot the app.
You also have a Pipfile which does not have gTTS as a requirement. To streamlit, that one takes precedence over requirements.txt (Check App dependencies - Streamlit Docs). What if you delete Pipfile from the repo and leave only requirements.txt?
The version of pandas in your requirements file is ancient. Installation wheels for the default version of Python on Community Cloud (3.9) do not exist:
You need to either unpin the version of pandas, or pin a more recent version that has a Python 3.9 installation candidate.
That’s entirely up to your discretion. As a general best practice, only include dependencies that your app actually uses. If your app or your app’s dependencies don’t use pandas, you could remove it.
ModuleNotFoundError: This app has encountered an error. The original error message is redacted to prevent data leaks. Full error details have been recorded in the logs (if you’re on Streamlit Cloud, click on ‘Manage app’ in the lower right of your app).
Traceback:
File "/home/appuser/venv/lib/python3.9/site-packages/streamlit/runtime/scriptrunner/script_runner.py", line 562, in _run_script
exec(code, module.__dict__)File "/app/easy-edit-app/main.py", line 6, in <module>
from gtts import gTTS
As I’ve stated previously, you can’t have both Pipfile and requirements.txt in the same repo. You need to delete Pipfile, and reboot your app… Once you do that, your app should deploy without the ModuleNotFoundError: