python - 将 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
解决方案
推荐阅读
- javascript - JavaScript 中是否存在竞争条件?
- api - REST API 设计 - 在请求中传递多行 - 保存按钮
- python - 在 Python 中将 MP3 音频文件转换为 Numpy 数组
- python - How to search under condition that field may or may not exist in Elasticsearch
- angular - http错误的响应主体内的对象
- amazon-ec2 - 在ansible中加载基于区域的基于环境的动态vars文件
- azure - 适用于 Mac 的带有 Azure AD 身份验证的 Azure P2S VPN
- r - Printing certain elements of a character vector based on condition and deleting the others
- qt - QML RangeSlider with pivot value
- python - python multiprocessing doesn't start