Hi @Tong,
Thanks for sharing your question! It looks like you shared this on StackOverflow as well, and got the following answers:
The question is what kind of user the target is. If it’s another coder, just create a requirements.txt file for your project and give them the source code (i.e. using an online repository like GitHub). Then they can recreate your environments and run the app via Streamlit locally themselves. If the target user is not a coder, you need to package everything, i.e. in a Docker container (see i.e. official documentation here docs.streamlit.io/knowledge-base/tutorials/deploy/docker)
Another option is to package your app as an executable – I recommend checking out this thread.