Brand new to Streamlit... and Streamlit Hello doesn't work?

Ask the community or our support engineers for answers to questions.

I just installed it last night, with no errors on Garuda Linux (Arch deriv). All went well, and I ran hello.
Note: I am fully updated as far as Linux and python are concerned.

streamlit hello Got these errors

Traceback (most recent call last):
File “/home/michael/.local/bin/streamlit”, line 5, in
from streamlit.cli import main
File “/home/michael/.local/lib/python3.10/site-packages/streamlit/init.py”, line 48, in
from streamlit.proto.RootContainer_pb2 import RootContainer
File “/home/michael/.local/lib/python3.10/site-packages/streamlit/proto/RootContainer_pb2.py”, line 33, in
_descriptor.EnumValueDescriptor(
File “/home/michael/.local/lib/python3.10/site-packages/google/protobuf/descriptor.py”, line 755, in new
_message.Message._CheckCalledFromGeneratedFile()
TypeError: Descriptors cannot not 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: Changes made in May, 2022  |  Protocol Buffers  |  Google Developers

Hi @savvyside, welcome to the Streamlit community!

Sorry to hear you ran into a problem on your first interaction on Streamlit, we always wish to avoid that :frowning:

The issue is solved by specifying a specific version of protobuf in your environment, as there was an unexpected breaking change in one of our dependencies:

Best,
Randy