本文参考了其他几位博主的做法并加上了一部分自己搜到的东西,完成了将引用第三方streamlit库的项目打包成exe,并且为应用添加了自定义图标。
环境:windows11、conda 24.3.0、streamlit 1.37.1、streamlit-card 1.0.2、pyinstaller 5.8.0
1.在项目根目录下创建一个hooks文件夹,在下面创建一个python文件(hook-streamlit.py)
from PyInstaller.utils.hooks import copy_metadata
datas = copy_metadata("streamlit") + copy_metadata("streamlit_card")
2.在项目根目录下创建run_app.py
import streamlit.web.cli as stcli
import os, sys
def resolve_path(path):
resolved_path = os.path.abspath(os.path.join(os.getcwd(), path))
return resolved_path
if __name__ == "__main__":
sys.argv = [
"streamlit",
"run",