63 lines
1.8 KiB
Python
63 lines
1.8 KiB
Python
#打包脚本
|
||
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("大功告成~感谢您的使用") |