Hi, are there any updates on this?
I’m also running into the same issue after I build my component (with the dev server locally it works fine). None of the solutions above worked for me…
Using streamlit==1.15.1
, repo here.
Hi, are there any updates on this?
I’m also running into the same issue after I build my component (with the dev server locally it works fine). None of the solutions above worked for me…
Using streamlit==1.15.1
, repo here.
After some help, I was able to resolve my issue. I was using a different Streamlit template (that uses React hooks by @whitphx ), and in the package.json
I accidentally deleted the "homepage": "."
After including it back, I was able to get it working!
thanks, @murilo-cunha for pointing out I was converting react app to a component and miss this.
This seems to have done it for me. I import streamlit-options-menu, streamlit-aggrid and extra-streamlit-components (for the cookie manager) all in one function, as you do here.
"""This module solves a deployment bug in Streamlit -
https://discuss.streamlit.io/t/any-ideas-on-your-app-is-having-trouble-loading-the-
st-aggrid-aggrid-component/10176/19?u=vovavili"""
import sys
from pathlib import Path
from streamlit.config import on_config_parsed
from streamlit.web import cli
# noinspection PyUnresolvedReferences
def heavy_imports() -> None:
"""For an explanation, please refer to this thread -
https://discuss.streamlit.io/t/any-ideas-on-your-app-is-having-trouble-loading-the-
st-aggrid-aggrid-component/10176/19?u=vovavili"""
import extra_streamlit_components as stx
import streamlit_option_menu
from st_aggrid import AgGrid, ColumnsAutoSizeMode, GridOptionsBuilder, JsCode
def main() -> None:
on_config_parsed(heavy_imports)
sys.argv.extend(
[
"run",
str(Path(__file__).resolve().parent / "app.py"),
"--server.port=8080",
"--server.address=0.0.0.0",
]
)
cli.main(prog_name="streamlit")
if __name__ == "__main__":
main()
I’m getting this when deploying on k8s with nginx ingress. None of the workarounds have helped
@ya55en do you also import the packages again in your homepage.py file? I tried this but i was getting an error that the packages are not importing
@shivpalit-das42: Sure, you have to import everything in your homepage.py
that the code references, including streamlit_option_menu
; I have this import statement there (among many others):
# in homepage.py
from streamlit_option_menu import option_menu
HTH
@VovaVili I am getting the same yellow box with the error “trouble loading extra_streamlit_components.CookieManager” but we do not call cookie manager explicitly - we are using it as part of the authenticator though I guess. How are you using it in your app.py file?
Thank you very much! This really works for me!!
Hi, I’m facing similar issues with k8s/nginx, specifically after the pods horizontally autoscale. Did you manage to find any workarounds?
I have my streamlit app behind a reverse proxy with nginx. I needed to use these settings in order to map all the internal requests to the streamlit backend.
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name localhost;
location / {
proxy_pass http://127.0.0.1:8501;
}
# streamlit redirects config
location /streamlit-components-demo {
proxy_pass http://127.0.0.1:8501/;
}
location ^~ /static {
proxy_pass http://127.0.0.1:8501/static/;
}
location ^~ /healthz {
proxy_pass http://127.0.0.1:8501/healthz;
}
location ^~ /vendor {
proxy_pass http://127.0.0.1:8501/vendor;
}
location ^~ /component {
proxy_pass http://127.0.0.1:8501/component;
}
location /stream {
proxy_pass http://127.0.0.1:8501/stream;
proxy_http_version 1.1;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 86400;
}
}
Hope this helps
hi, i am facing the same problem with nginx, did someone solve this ?
i’m facing the same problem when i use nginx to forward http url,it works normally if i set just one server in upstream
Your app is having trouble loading the streamlit_webrtc.component.webrtc_streamer component.
(The app is attempting to load the component from ****, and hasn't received its "streamlit
" message.)
If this is a development build, have you started the dev server?
If this is a release build, have you compiled the frontend?
For more troubleshooting help, please see the Streamlit Component docs or visit our forums.
heres nginx conf
upstream ovkws_server{
server 10.30.4.53:8501;
server 10.30.4.53:8502;
server 10.30.4.53:8503;
}
server {
listen 8080;
server_name 10.30.4.53;
location / {
proxy_pass http://ovkws_server;
proxy_http_version 1.1;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_read_timeout 86400;
}
location /streamlit-components-demo {
proxy_pass http://ovkws_server;
}
location ^~ /static {
proxy_pass http://ovkws_server/static/;
}
location ^~ /healthz {
proxy_pass http://ovkws_server/healthz;
}
location ^~ /vendor {
proxy_pass http://ovkws_server/vendor;
}
location ^~ /component {
proxy_pass http://ovkws_server/component;
}
}
Streamlit version 1.32.0 is now available and includes a significant improvement for custom components. The timeout warning for custom components was replaced with an element skeleton to improve the UX for slow-loading components, especially in some cloud-hosted platforms.
Hi Team, I’m facing the same. Trying to apply the solution as proposed with heavy imports. It works in local but when I run it in EKS pods, it throws no module found : streamlit
These cookies are necessary for the website to function and cannot be switched off. They are usually only set in response to actions made by you which amount to a request for services, such as setting your privacy preferences, logging in or filling in forms.
These cookies allow us to count visits and traffic sources so we can measure and improve the performance of our site. They help us understand how visitors move around the site and which pages are most frequently visited.
These cookies are used to record your choices and settings, maintain your preferences over time and recognize you when you return to our website. These cookies help us to personalize our content for you and remember your preferences.
These cookies may be deployed to our site by our advertising partners to build a profile of your interest and provide you with content that is relevant to you, including showing you relevant ads on other websites.