测试并完成linux环境打包,并且确保可以使用

This commit is contained in:
2026-02-06 09:00:11 +08:00
parent 6b03d20a57
commit 3c2fc480a2
5 changed files with 93 additions and 0 deletions

63
linux/build.py Normal file
View File

@@ -0,0 +1,63 @@
#打包脚本
import subprocess, os, sys
# 建立venv虚拟环境
print("建立venv虚拟环境")
subprocess.run("python3 -m venv venv", shell=True)
# 安装requirements.txt中的库
print("安装requirements.txt中的库")
subprocess.run("venv/bin/pip3 install -r ../requirements.txt", shell=True)
# 列出pip安装的库
print("列出pip安装的库")
subprocess.run("venv/bin/pip3 list", shell=True)
# pyinstaller打包程序
print("pyinstaller打包中")
print("打包main.py")
subprocess.run("venv/bin/pyinstaller --onefile command/main.py", shell=True)
print("打包help.py")
subprocess.run("venv/bin/pyinstaller --onefile command/help.py", shell=True)
print("打包Download.py")
subprocess.run("venv/bin/pyinstaller --onefile command/Download.py", shell=True)
print("打包version.py")
subprocess.run("venv/bin/pyinstaller --onefile command/version.py", shell=True)
# 清理build和*.spec文件
print("清理build和*.spec文件")
subprocess.run("rm -rf build/", shell=True)
print("正在清理*.spec文件")
subprocess.run("rm -rf main.spec version.spec Download.spec help.spec", shell=True)
# 重命名dist为jm_
print("重命名dist为jm_")
dir_path = os.path.dirname(os.path.abspath(__file__))
print("当前路径: " , f"{dir_path}")
pass
os.rename(f"{dir_path}/dist", "jm_")
# 测试程序
print("测试程序")
print("建立测试脚本test.sh")
subprocess.run("""
cat <<EOF>> test.sh
#!/bin/sh
cd ./jm_/
./main
./main help
./main version
EOF
""", shell=True)
print("赋予test.sh可执行权限")
subprocess.run("chmod +x test.sh", shell=True)
print("运行test.sh测试脚本")
subprocess.run("/bin/sh test.sh", shell=True)
# 测试完毕删除test.sh脚本
print("测试完毕删除test.sh脚本")
subprocess.run("rm -rf test.sh", shell=True)
print("大功告成~感谢您的使用")