Stuck with my first app

Hi everyone,
it’s almost 24 hours that I am trying, I have update the requirements file but it still doesn’t find mathplotlib and the creation of the app is in a loop the lasted almost an hour.
Can you please help me?
Thankg,
Giuseppe

  1. Share the link to the public app: https://pendulumapi-nrbqlxbnmr8q8jmygoya67.streamlit.app/
  2. Share the link to your app’s public GitHub repository: GitHub - Giuseppe86-lab/API_ML_Pendulum.
  3. Share the full text of the error message:
[22:03:08] 📦 Processed dependencies!
cat: /mount/admin/install_path: No such file or directory



────────────────────── Traceback (most recent call last) ───────────────────────
  /home/adminuser/venv/lib/python3.9/site-packages/streamlit/runtime/scriptrun  
  ner/exec_code.py:88 in exec_func_with_error_handling                          
                                                                                
  /home/adminuser/venv/lib/python3.9/site-packages/streamlit/runtime/scriptrun  
  ner/script_runner.py:579 in code_to_exec                                      
                                                                                
  /mount/src/api_ml_pendulum/pendulum_app.py:13 in <module>                     
                                                                                
     10 import streamlit as st                                                  
     11 import pandas as pd                                                     
     12 import math                                                             
  ❱  13 import matplotlib.pyplot as plt                                         
     14 from PIL import Image                                                   
     15                                                                         
     16 add_sidebar = st.sidebar.selectbox('Menu', ('Home', 'Make a prediction  
────────────────────────────────────────────────────────────────────────────────
ModuleNotFoundError: No module named 'matplotlib'
[22:08:09] ❗️ 
2024-11-10 22:08:09.411 503 GET /script-health-check (127.0.0.1) 2662.45ms

It looks like matplotlib is in your requirements.txt file… Do your logs give any information before “Processed dependencies.” Perhaps there is some hint of an issue when pip tried to resolve all your dependencies. (If this requirements file works for you locally, double check the version of Python you’re using. Cloud defaults to 3.12 now.)

Thank you for your answer. I have changed the python version to 3.9 in the advance setting. The other message is:

📦 Processed dependencies!
cat: /mount/admin/install_path: No such file or directory

Remove the space at the beginning of your requirements file name.

Oh no, I fixed it but now I have another error:

Traceback (most recent call last):
  File "/home/adminuser/venv/bin/streamlit", line 5, in <module>
    from streamlit.cli import main
  File "/home/adminuser/venv/lib/python3.9/site-packages/streamlit/__init__.py", line 48, in <module>
    from streamlit.proto.RootContainer_pb2 import RootContainer
  File "/home/adminuser/venv/lib/python3.9/site-packages/streamlit/proto/RootContainer_pb2.py", line 33, in <module>
    _descriptor.EnumValueDescriptor(
  File "/home/adminuser/venv/lib/python3.9/site-packages/google/protobuf/descriptor.py", line 789, in __new__
    _message.Message._CheckCalledFromGeneratedFile()
TypeError: Descriptors cannot be created directly.
If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0.
If you cannot immediately regenerate your protos, some other possible workarounds are:
 1. Downgrade the protobuf package to 3.20.x or lower.
 2. Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower).

More information: https://developers.google.com/protocol-buffers/docs/news/2022-05-06#python-updates
WARNING: Package(s) not found: streamlit-nightly
Couldn't find Streamlit version.

────────────────────────────────────────────────────────────────────────────────────────

[07:59:46] 🐍 Python dependencies were installed from /mount/src/api_ml_pendulum/requirements.txt using uv.
Check if streamlit is installed
Streamlit is already installed
[07:59:47] 📦 Processed dependencies!
Traceback (most recent call last):
  File "/home/adminuser/venv/bin/streamlit", line 5, in <module>
    from streamlit.cli import main
  File "/home/adminuser/venv/lib/python3.9/site-packages/streamlit/__init__.py", line 48, in <module>
    from streamlit.proto.RootContainer_pb2 import RootContainer
  File "/home/adminuser/venv/lib/python3.9/site-packages/streamlit/proto/RootContainer_pb2.py", line 33, in <module>
    _descriptor.EnumValueDescriptor(
  File "/home/adminuser/venv/lib/python3.9/site-packages/google/protobuf/descriptor.py", line 789, in __new__
    _message.Message._CheckCalledFromGeneratedFile()
TypeError: Descriptors cannot be created directly.
If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0.
If you cannot immediately regenerate your protos, some other possible workarounds are:
 1. Downgrade the protobuf package to 3.20.x or lower.
 2. Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower).

More information: https://developers.google.com/protocol-buffers/docs/news/2022-05-06#python-updates
Traceback (most recent call last):
  File "/home/adminuser/venv/bin/streamlit", line 5, in <module>
    from streamlit.cli import main
  File "/home/adminuser/venv/lib/python3.9/site-packages/streamlit/__init__.py", line 48, in <module>
    from streamlit.proto.RootContainer_pb2 import RootContainer
  File "/home/adminuser/venv/lib/python3.9/site-packages/streamlit/proto/RootContainer_pb2.py", line 33, in <module>
    _descriptor.EnumValueDescriptor(
  File "/home/adminuser/venv/lib/python3.9/site-packages/google/protobuf/descriptor.py", line 789, in __new__
    _message.Message._CheckCalledFromGeneratedFile()
TypeError: Descriptors cannot be created directly.
If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0.
If you cannot immediately regenerate your protos, some other possible workarounds are:
 1. Downgrade the protobuf package to 3.20.x or lower.
 2. Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower).

More information: https://developers.google.com/protocol-buffers/docs/news/2022-05-06#python-updates
[07:59:50] ❗️ error restarting streamlit: exit status 7: output: streamlit: ERROR (not running)
streamlit: ERROR (spawn error)
[07:59:50] ❗️ Error during processing dependencies! Please fix the error and push an update, or try restarting the app.
Traceback (most recent call last):
  File "/home/adminuser/venv/bin/streamlit", line 5, in <module>
    from streamlit.cli import main
  File "/home/adminuser/venv/lib/python3.9/site-packages/streamlit/__init__.py", line 48, in <module>
    from streamlit.proto.RootContainer_pb2 import RootContainer
  File "/home/adminuser/venv/lib/python3.9/site-packages/streamlit/proto/RootContainer_pb2.py", line 33, in <module>
    _descriptor.EnumValueDescriptor(
  File "/home/adminuser/venv/lib/python3.9/site-packages/google/protobuf/descriptor.py", line 789, in __new__
    _message.Message._CheckCalledFromGeneratedFile()
TypeError: Descriptors cannot be created directly.
If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0.
If you cannot immediately regenerate your protos, some other possible workarounds are:
 1. Downgrade the protobuf package to 3.20.x or lower.
 2. Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower).

More information: https://developers.google.com/protocol-buffers/docs/news/2022-05-06#python-updates
Traceback (most recent call last):
  File "/home/adminuser/venv/bin/streamlit", line 5, in <module>
    from streamlit.cli import main
  File "/home/adminuser/venv/lib/python3.9/site-packages/streamlit/__init__.py", line 48, in <module>
    from streamlit.proto.RootContainer_pb2 import RootContainer
  File "/home/adminuser/venv/lib/python3.9/site-packages/streamlit/proto/RootContainer_pb2.py", line 33, in <module>
    _descriptor.EnumValueDescriptor(
  File "/home/adminuser/venv/lib/python3.9/site-packages/google/protobuf/descriptor.py", line 789, in __new__
    _message.Message._CheckCalledFromGeneratedFile()
TypeError: Descriptors cannot be created directly.
If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0.
If you cannot immediately regenerate your protos, some other possible workarounds are:
 1. Downgrade the protobuf package to 3.20.x or lower.
 2. Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower).

More information: https://developers.google.com/protocol-buffers/docs/news/2022-05-06#python-updates

Looks like you fixed that too.

Yes after that I fixed other issues, my app is perfectly working now :grinning:

Thank you for your help