(all):增加桌面程序
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
"""
|
||||
GEO Tool — PyInstaller 打包入口
|
||||
|
||||
打包后自动切换工作目录到解压路径,确保 config.json、geo_data.db、
|
||||
.streamlit/、knowledge_base/ 等资源文件的相对路径正常工作。
|
||||
"""
|
||||
|
||||
import os
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
def main():
|
||||
# 判断是否在 PyInstaller 打包环境中运行
|
||||
if getattr(sys, "frozen", False):
|
||||
bundle_dir = Path(sys._MEIPASS)
|
||||
else:
|
||||
bundle_dir = Path(__file__).parent
|
||||
|
||||
# 切换到打包目录,确保所有相对路径能正确解析
|
||||
os.chdir(str(bundle_dir))
|
||||
|
||||
# 确保运行时目录存在(打包时可能为空目录导致不被包含)
|
||||
(bundle_dir / "knowledge_base").mkdir(exist_ok=True)
|
||||
|
||||
# 重写 argv 启动 Streamlit
|
||||
# 注意:此应用将被嵌入桌面壳(Tauri)中运行,因此:
|
||||
# - headless=true:不自动打开浏览器,由桌面壳接管
|
||||
# - port=8501:固定端口
|
||||
# - gatherUsageStats=false / developmentMode=false:关闭遥测与在线服务
|
||||
# - logger.level=error:静默启动,减少控制台输出
|
||||
sys.argv = [
|
||||
"streamlit",
|
||||
"run",
|
||||
"geo_tool.py",
|
||||
"--server.port", "8501",
|
||||
"--server.address", "127.0.0.1",
|
||||
"--server.headless", "true",
|
||||
"--browser.gatherUsageStats", "false",
|
||||
"--global.developmentMode", "false",
|
||||
"--logger.level", "error",
|
||||
]
|
||||
|
||||
from streamlit.web.cli import main as streamlit_main
|
||||
streamlit_main()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user