I am trying to run streamlit under Ubuntu and get the following error:
Traceback (most recent call last):
File "/home/ubuntu/.local/bin/streamlit", line 5, in <module>
from streamlit.cli import main
File "/home/ubuntu/.local/lib/python3.8/site-packages/streamlit/__init__.py", line 48, in <module>
from streamlit.proto.RootContainer_pb2 import RootContainer
File "/home/ubuntu/.local/lib/python3.8/site-packages/streamlit/proto/RootContainer_pb2.py", line 33, in <module>
File "/home/ubuntu/.local/lib/python3.8/site-packages/google/protobuf/descriptor.py", line 755, in __new__
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 wi th 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 wil l be much slower).
More information: https://developers.google.com/protocol-buffers/docs/news/2022-05-06#python-updates
I am running into the same problem. According to google doc, there is a need to set an environment variable to make it work.
but there seems to be no place where i can set it.