将Streamlight应用程序转换为pyinstaller可执行文件

2024-09-19 23:28:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在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,运行

pyinstaller --onefile script.py

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

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


Tags: runpyimport服务器应用程序localhost可执行文件main