Below codes used to work without having any problem but now it doesn’t work anymore when I upgrade my streamlit to version 1.14.0 .
Code snippet:
from streamlit.web import cli as stcli
import sys
if __name__ == '__main__':
if st._is_running_with_streamlit:
main()
else:
sys.argv = ["streamlit", "run", sys.argv[0]]
sys.exit(stcli.main())
It will show the below problem when I try to run my program in the PyCharm IDE!
Traceback snippet:
Traceback (most recent call last):
File "C:\Users\juroy\PycharmProjects\TikTokAnalytics\app.py", line 66, in <module>
if st._is_running_with_streamlit:
AttributeError: module 'streamlit' has no attribute '_is_running_with_streamlit'
Just pasting William’s solution from the GitHub issue:
You are currently using an internal API that we don’t necessarily support. I wouldn’t recommend using this.
If you would like to replace that code so that it works, I think it looks like you can use this:
from streamlit import runtime
runtime.exists()
So your code snippet from above needs to be modified to:
from streamlit.web import cli as stcli
from streamlit import runtime
import sys
if __name__ == '__main__':
if runtime.exists():
main()
else:
sys.argv = ["streamlit", "run", sys.argv[0]]
sys.exit(stcli.main())