liumaolin
commited on
Commit
·
3764026
1
Parent(s):
1147458
Add `build-python.sh`: script for packaging Python application with PyInstaller.
Browse files- 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 应用打包完成 ---"
|