首页 > 解决方案 > 将 streamlit 应用程序转换为 pyinstaller 可执行文件

问题描述

我正在构建一个应用程序streamlit,由于多种原因,它不能托管在服务器上。最阻碍的原因是它也应该在没有互联网访问的情况下工作。因此,我想将我的应用程序转换为用户可以在自己的笔记本电脑上运行的某种可执行文件,并且该应用程序托管在 localhost 上。

我有以下代码:

import streamlit.cli as stcli
import sys

def streamlit_run():
    sys.argv = ["streamlit", "run", "main.py", "--global.developmentMode=false"]
    sys.exit(stcli.main())


if __name__ == '__main__':
    streamlit_run()

main.py现在是一个简单的 hello-world 应用程序。如果我跑

python wrapper.py

在我的命令行中,应用程序在 localhost 上运行。pyinstaller我使用, running把它变成一个可执行文件

pyinstaller --onefile script.py

并创建一个可执行文件。但是,如果我运行这个可执行文件,什么都不会发生:我只看到一瞬间的黑屏,仅此而已。有关如何解决此问题的任何帮助?任何其他让客户使用该应用程序而不将其托管在服务器上的解决方案也将不胜感激!

版本: python==3.9 streamlit==0.73.0 pyinstaller==4.1

标签: pythonpyinstallerstreamlit

解决方案


推荐阅读