TorqueWrench/backend/后端打包说明.md

3.8 KiB
Raw Permalink Blame History

后端Flask API打包与运行说明

1. 是否可以用和前端相同的方式打包?

可以。
后端同样可以用 PyInstaller 打包成一个可执行文件,只是:

  • 前端是 GUI 程序console=False
  • 后端是 控制台服务程序console=True,启动后常驻,监听 5000 端口)。

本项目已经在 backend 目录下生成了两个打包脚本:

  • build_backend.batWindows
  • build_backend.shLinux/Mac

2. 打包前准备

在打包前,确保:

  • 已安装 Python 3 环境
  • 已安装后端依赖:
cd backend
pip install -r requirements.txt

(如果使用虚拟环境,请先激活虚拟环境再执行上面的命令)


3. Windows 下打包后端

  1. 打开命令提示符或 PowerShell

  2. 进入 backend 目录:

cd F:\PyPro\TorqueWrench\backend
  1. 执行打包脚本:
build_backend.bat

脚本会自动:

  • 检查并安装 PyInstaller
  • 清理旧的 build/dist/ 目录
  • 调用:
pyinstaller --name backend_api --console --paths .. --hidden-import wrench_controller app.py
  1. 打包完成后,可执行文件位置:
backend\dist\backend_api\backend_api.exe
  1. 如果你已经有一个正在使用的数据库文件 wrench.db,可以复制过去:
copy wrench.db dist\backend_api\wrench.db
  1. 启动后端服务:
dist\backend_api\backend_api.exe

启动后,后端会监听 http://localhost:5000,前端照常访问。


4. Linux / Mac 下打包后端

  1. 打开终端

  2. 进入 backend 目录:

cd /path/to/TorqueWrench/backend
  1. 赋予脚本执行权限(首次):
chmod +x build_backend.sh
  1. 执行打包脚本:
./build_backend.sh

脚本会自动:

  • 检查并安装 PyInstaller
  • 清理旧的 build/dist/ 目录
  • 调用:
pyinstaller --name backend_api --console --paths .. --hidden-import wrench_controller app.py
  1. 打包完成后,可执行文件位置:
backend/dist/backend_api/backend_api
  1. 如果已有生产数据库,复制到打包目录:
cp wrench.db dist/backend_api/wrench.db
  1. 启动后端服务:
./dist/backend_api/backend_api

同样会监听 http://localhost:5000


5. 和直接用 Python 运行的对比

  • 直接运行(开发环境常用):
cd backend
python app.py
  • 打包运行(部署 / 发给其他机器):
    • 不需要安装源码,只要有打包后的目录和配置/数据库文件即可。
    • 更适合发给不熟悉 Python 环境的用户。

两种方式使用的是同一套代码逻辑,差别只是启动方式。


6. 注意事项

  • 端口:打包后默认仍然是监听 5000 端口,如果需要改端口,需要改 app.py 启动代码(或用环境变量/参数)。
  • 数据库文件
    • 代码中使用的是:
      • db_path = os.path.join(os.path.dirname(__file__), "wrench.db")
    • 打包后的 __file__ 会指向打包目录内的脚本位置,所以:
      • 你只要把 wrench.db 放到 dist/backend_api/ 目录下,程序就能正常使用。
  • 日志输出:后端是控制台应用,会在命令行窗口打印日志(方便排查问题)。

7. 简短回答你的问题

  • :后端服务要如何打包?也用同样方式可以吗?
  • :可以。后端已经提供了和前端类似的一键打包脚本:
    • Windowsbackend/build_backend.bat
    • Linux/Macbackend/build_backend.sh

你只需要:

  1. 进入 backend 目录
  2. 安装依赖:pip install -r requirements.txt
  3. 运行打包脚本Windows 用 .batLinux/Mac 用 .sh
  4. wrench.db 复制到 dist/backend_api/,运行生成的 backend_api 即可。