File Not Found error in pkl file while deploying

AppLink:-https://healthcost.streamlit.app/
Repository Link:-Project-Report/Streamlit at main · mayank3484/Project-Report · GitHub
FileNotFoundError: 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/adminuser/venv/lib/python3.9/site-packages/streamlit/runtime/scriptrunner/script_runner.py", line 535, in _run_script
    exec(code, module.__dict__)File "/mount/src/project-report/Streamlit/App.py", line 83, in <module>
    main_page()File "/mount/src/project-report/Streamlit/App.py", line 80, in main_page
    main()File "/mount/src/project-report/Streamlit/App.py", line 19, in main
    model= joblib.load('LinearRegression.pkl')File "/home/adminuser/venv/lib/python3.9/site-packages/joblib/numpy_pickle.py", line 650, in load
    with open(filename, 'rb') as f:
Python Version3.11
Streamlit Version 1.31.0

:rotating_light: Before clicking “Create Topic”, please make sure your post includes the following information (otherwise, the post will be locked). :rotating_light:

  1. Share the link to the public deployed app.
  2. Share the link to your app’s public GitHub repository (including a requirements file).
  3. Share the full text of the error message (not a screenshot).
  4. Share the Streamlit and Python versions.

hi @mayank3484. Just downgrade the python version to 3.9. After that reboot your app.
Happy Streamliting

Still error not solved
FileNotFoundError: 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/adminuser/venv/lib/python3.9/site-packages/streamlit/runtime/scriptrunner/script_runner.py", line 535, in _run_script
    exec(code, module.__dict__)File "/mount/src/project-report/Streamlit/App.py", line 83, in <module>
    main_page()File "/mount/src/project-report/Streamlit/App.py", line 80, in main_page
    main()File "/mount/src/project-report/Streamlit/App.py", line 19, in main
    model= joblib.load('LinearRegression.pkl')File "/home/adminuser/venv/lib/python3.9/site-packages/joblib/numpy_pickle.py", line 650, in load
    with open(filename, 'rb') as f:

The file is not in the current directory. If you are not sure what the current directory is, add this code to your application

from pathlib import Path
st.text(Path.cwd())  # show the current directory.

and adjust the path to your .pkl file accordingly.

hey @mayank3484 , change the file location in joblib.load() as follows:

joblib.load('Streamlit/LinearRegression.pkl')

Why because when you are deploying the application, in the streamlit dashboard, in the first widget they ask us to select the repository of your repo. But, your linear regression.pkl is under streamlit folder. So, you are getting error.

Presently the app is in root directory named Project. But you LinearRegression.pkl actually located in subfolder named Streamlit/LinearRegression.pkl.


So just correct the path location as follows in your app.py:

joblib.load('Streamlit/LinearRegression.pkl')

Thanks everyone for helping me. My project is deployed.

1 Like

hi @mayank3484 , is my above message helps??