liumaolin commited on
Commit
3764026
·
1 Parent(s): 1147458

Add `build-python.sh`: script for packaging Python application with PyInstaller.

Browse files
Files changed (1) hide show
  1. scripts/build-python.sh +38 -0
scripts/build-python.sh ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/bin/bash
2
+ # scripts/build-python.sh
3
+
4
+ # 脚本出错时立即退出
5
+ set -e
6
+
7
+ # --- 配置 ---
8
+ # 应用名称
9
+ APP_NAME="voice_dialogue"
10
+ # PyInstaller 打包输出目录
11
+ PYINSTALLER_DIST_DIR="dist"
12
+ # Electron 应用中存放 Python 可执行文件的目录
13
+ ELECTRON_PYTHON_DIST_DIR="electron-app/python-dist"
14
+ # PyInstaller 构建目录
15
+ PYINSTALLER_BUILD_DIR="build/voice_dialogue"
16
+ # Spec 文件
17
+ SPEC_FILE="build/pyinstaller/${APP_NAME}.spec"
18
+
19
+ # --- 清理旧文件 ---
20
+ echo "--- 清理旧的 Python 构建文件 ---"
21
+ rm -rf "./${PYINSTALLER_DIST_DIR}"
22
+ rm -rf "./${PYINSTALLER_BUILD_DIR}"
23
+ rm -rf "./${ELECTRON_PYTHON_DIST_DIR}"
24
+ mkdir -p "./${ELECTRON_PYTHON_DIST_DIR}"
25
+
26
+ # --- 运行 PyInstaller ---
27
+ echo "--- 开始使用 PyInstaller 打包 Python 应用 ---"
28
+ pyinstaller --noconfirm \
29
+ --clean \
30
+ "${SPEC_FILE}"
31
+
32
+ # --- 复制可执行文件 ---
33
+ echo "--- 复制可执行文件到 Electron 目录 ---"
34
+ cp -r "./${PYINSTALLER_DIST_DIR}/${APP_NAME}/." "./${ELECTRON_PYTHON_DIST_DIR}/"
35
+ echo "可执行文件已复制到 ${ELECTRON_PYTHON_DIST_DIR}"
36
+
37
+
38
+ echo "--- Python 应用打包完成 ---"