EXE

最好的方案是用 PyInstaller 打包成 .exe 文件,这样别的电脑不需要装 Python,双击就能用。我来打包:
开始打包成 exe(需要几分钟):
打包成功!但有个问题——exe 内部的 subprocess 调用其他 .py 文件时,目标电脑没有 Python 会失败。我需要把 gui.py 改为直接调用模块函数,不用 subprocess。
改动比较大,让我重写 gui.py 的执行逻辑——从 subprocess 改为直接 import 调用:
现在把 _run_subprocess 方法替换为直接模块调用:
现在修改所有调用点。先改 _run_pipeline 中的扫描调用:
逐个替换调用点。先改全市场扫描:
_run_pipeline 中的扫描调用:
改监控调用:
验证语法:
语法通过!现在重新打包 exe(这次会包含所有模块):
打包成功!检查文件大小:
42MB,合理大小。测试能否启动:
exe 正常启动了(超时退出码 124 = 程序在运行中)。但需要修复 vendor 路径——打包后 echarts.min.js 在临时目录中:
同样修改 screen.py 和 monitor.py 的路径:
确保 make_view.py 有 import sys
验证语法后重新打包:
打包完成!现在有了两个方案:
搞定了!现在有 两个方案 适配不同电脑:

方案一:exe 文件(推荐,最简单)

dist/stock_screener.exe(42MB)拷到 U 盘,在任何 Windows 电脑上:

  • 不需要装 Python
  • 不需要装任何依赖
  • 双击 exe 直接打开图形界面

一个文件搞定一切。

方案二:源码 + bat(需要装 Python)

把整个 stock_screener 文件夹拷过去,目标电脑需要:

  1. 装 Python(python.org 下载)
  2. 双击「首次安装.bat」装依赖
  3. 双击「启动.bat」运行

exe 方案的注意事项

项目 说明
首次启动 稍慢(3-5秒),因为要解压内置的 Python 环境
cache/ 目录 首次在 exe 同目录自动创建,拉取的数据存在这里
数据更新 用 GUI 里的"🌐 全市场扫描"拉取数据
拷给别人 只需要拷 exe 文件(cache/ 可选拷,不拷的话首次拉数据约 8 分钟)
系统 仅支持 Windows 64 位