You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
83 lines
2.6 KiB
83 lines
2.6 KiB
#!/usr/bin/env python3
|
|
"""
|
|
MagicWord macOS简化打包脚本
|
|
"""
|
|
|
|
import os
|
|
import sys
|
|
import subprocess
|
|
import shutil
|
|
|
|
def run_command(cmd):
|
|
"""运行命令"""
|
|
print(f"运行: {' '.join(cmd)}")
|
|
result = subprocess.run(cmd, capture_output=True, text=True)
|
|
if result.returncode != 0:
|
|
print(f"错误: {result.stderr}")
|
|
return False
|
|
return True
|
|
|
|
def main():
|
|
print("=== MagicWord macOS打包 ===")
|
|
|
|
# 清理旧的构建文件
|
|
print("清理构建文件...")
|
|
for folder in ['build', 'dist', '__pycache__']:
|
|
if os.path.exists(folder):
|
|
shutil.rmtree(folder)
|
|
|
|
# 安装依赖
|
|
print("安装依赖...")
|
|
if not run_command([sys.executable, "-m", "pip", "install", "-r", "requirements.txt"]):
|
|
return
|
|
|
|
if not run_command([sys.executable, "-m", "pip", "install", "pyinstaller"]):
|
|
return
|
|
|
|
# 构建命令 - 包含所有必要的图片和图标文件
|
|
cmd = [
|
|
sys.executable, "-m", "PyInstaller",
|
|
"--name", "MagicWord",
|
|
"--distpath", "dist",
|
|
"--workpath", "build",
|
|
# 资源文件
|
|
"--add-data", "resources:resources",
|
|
# UI图片文件
|
|
"--add-data", "src/ui/UI.png:ui",
|
|
"--add-data", "src/ui/114514.png:ui",
|
|
# 图标文件
|
|
"--add-data", "resources/icons/app_icon_32X32.png:resources/icons",
|
|
"--add-data", "resources/icons/app_icon_64X64.png:resources/icons",
|
|
"--add-data", "resources/icons/app_icon_128X128.png:resources/icons",
|
|
"--add-data", "resources/icons/app_icon_256X256.png:resources/icons",
|
|
# 隐藏导入模块
|
|
"--hidden-import", "PyQt5",
|
|
"--hidden-import", "PyQt5.QtCore",
|
|
"--hidden-import", "PyQt5.QtGui",
|
|
"--hidden-import", "PyQt5.QtWidgets",
|
|
"--hidden-import", "requests",
|
|
"--hidden-import", "beautifulsoup4",
|
|
"--hidden-import", "python-docx",
|
|
"--hidden-import", "PyPDF2",
|
|
"--hidden-import", "ebooklib",
|
|
"--hidden-import", "chardet",
|
|
"--hidden-import", "PIL",
|
|
# macOS应用选项
|
|
"--windowed",
|
|
"--osx-bundle-identifier", "com.magicword.app",
|
|
"--icon", "resources/icons/app_icon_128X128.png",
|
|
"src/main.py"
|
|
]
|
|
|
|
print("构建应用...")
|
|
if run_command(cmd):
|
|
print("✅ 构建成功!")
|
|
print(f"应用位置: {os.path.abspath('dist/MagicWord.app')}")
|
|
print("\n安装步骤:")
|
|
print("1. 将 MagicWord.app 拖拽到 Applications 文件夹")
|
|
print("2. 首次运行时,右键点击应用选择'打开'")
|
|
else:
|
|
print("❌ 构建失败!")
|
|
|
|
if __name__ == "__main__":
|
|
main() |