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