Deployment error on Streamlit Cloud - No module named 'ydata_profiling'

Hi!

I’m excited to deploy my first web app to the Streamlit Community Cloud. I’ve tested the app locally and it works (in a virtual env with the limited dependencies in the “requirements.txt” file). But I got this error when trying to deploy- No module named ‘ydata_profiling’

At first I thought maybe the ydata-profiling package was NOT in a place where it could be installed, but my local conda seems to pull that library from pypi so I’m not sure why the Streamlit Community Cloud doesn’t find it…

With regards to debugging, I’ve tried being less specific about the package versions, but it didn’t seem to make a difference. Looks like the naming of this package has changed (or is changing?) recently.

As an aside, I obtained the starter code from this nice YT tutorial.

Do you think there’s something I can change in my code to use the ProfileReport?

Link to app

Requirements.txt
python-dotenv==1.0.0
pandas==2.0.3
numpy==1.23.5
streamlit==1.25.0
streamlit-pandas-profiling==0.1.3
ydata-profiling==4.4.0
pandas-profiling==3.6.6

Many thanks in advance :slight_smile:

Remove pandas-profiling it has been replaced by ydata-profiling

Hi @Franky1

Thanks for the suggestion but I’d tried that and my error remains. My requirements file contains “ydata-profiling” but the deployment error below is the result.

Thanks again for any aassistance!

1 Like

I’m having the same issue. ydata_profiling works fine on localhost, but when I try to deploy via streamlit cloud I get the same modulenotfound error.

@barbhs I got it working! In streamlit cloud I deleted my app, then created a new one using my updated github repo with ydata_profiling in the requirements. I went down to advanced settings and changed the default python version from 3.9 to 3.10. When I launched the app it instantiated with no errors and appears to be working fine now. Hope this helps