从源码到打包:JamTools开发者指南之编译与定制教程
【免费下载链接】JamToolsJamTools是一个跨平台的小工具集类软件,支持Windows7/8/10/11、Macos、ubuntu系统(其他系统可以直接从源码编译打包)。包含了(滚动/区域)截屏、录屏、文字识别、多种语言互译、多媒体格式转换、鼠标键盘动作录制播放、局域网文件传输、聊天机器人等功能,完全开源!项目地址: https://gitcode.com/gh_mirrors/ja/JamTools
JamTools是一个完全开源的跨平台工具集,支持Windows、macOS和Linux系统,集成了滚动截屏、文字识别、语言翻译等实用功能。本指南将带你完成从源码获取到自定义打包的全过程,即使是新手也能轻松掌握!
📋 准备工作:环境搭建与依赖安装
开发环境要求
- Python 3.7+(推荐3.7版本以确保兼容性)
- Git工具
- C编译环境(可选,用于源码保护)
- 系统依赖:
- Windows:Microsoft Visual C++ Build Tools
- macOS:Xcode Command Line Tools
- Linux:gcc、libgtk-3-dev等
一键安装依赖包
# 克隆仓库 git clone https://gitcode.com/gh_mirrors/ja/JamTools cd JamTools # 安装Python依赖 pip install -r requirement.txt🔍 项目结构解析
核心打包相关文件说明:
- 打包主脚本:setup.py - 使用cx_Freeze实现跨平台打包
- 编译控制脚本:setjam.py - 负责Cython编译源码为pyd/so文件
- 构建流程控制:jamtoolsbuild.py - 自动化处理资源文件和依赖
核心功能模块路径:
- 截屏功能:jamscreenshot.py
- OCR识别:PaddleOCRModel/PaddleOCRModel.py
- 文件传输:WEBFilesTransmitter.py
🚀 快速打包:基础构建步骤
普通模式打包(不编译源码)
# 直接生成可执行文件 python setup.py build执行后会在build/Jamtools目录生成可运行程序,包含所有依赖资源。
编译模式打包(源码保护)
若需要保护源码并提升运行速度,可启用Cython编译:
# 修改setup.py中的编译开关 sed -i "s/WithCompile = 0/WithCompile = 1/" setup.py # 执行编译打包 python setup.py build⚠️ 注意:编译模式需要提前配置好C语言开发环境
不同系统的打包结果
- Windows:生成
Jamtools.exe可执行文件 - macOS:生成
Jamtools.app应用包 - Linux:生成
Jamtools可执行文件
图:使用VS Code终端执行打包命令的过程
⚙️ 高级定制:个性化打包配置
修改应用信息
编辑setup.py文件修改版本号和描述:
# setup.py 第30行 VERSON = "0.14.1B" # 修改为自定义版本号 # 第125行 description = '自定义应用描述' # 修改应用描述调整资源文件
通过修改setup.py的include_files配置添加自定义资源:
# setup.py 第86-91行 include_files = [ ("bin/win32","lib/bin/win32"), # 二进制文件 ("html/","lib/html"), # HTML界面资源 ("custom_resources/","lib/custom_resources") # 添加自定义资源目录 ]更改应用图标
替换项目根目录的icon.ico文件,支持256x256分辨率的图标文件。
图:在VS Code中编辑打包配置文件
🐛 常见问题解决
依赖缺失错误
若打包时提示缺少模块,可手动添加到setup.py的packages配置:
build_options = { 'packages': ['缺少的模块名'], # 其他配置... }编译失败处理
Windows系统编译失败时,确保已安装:
- Microsoft Visual C++ 14.0以上
- Windows SDK对应版本
运行时资源找不到
检查setup.py中的include_files配置,确保所有资源路径正确。
📦 生成安装包(Windows平台)
- 安装NSIS工具(Nullsoft Scriptable Install System)
- 执行打包命令生成NSIS脚本:
python setup.py build- 在
build/installer目录找到Installer.nsi - 使用NSIS编译生成exe安装文件
图:JamTools文字识别功能演示
🎯 总结与下一步
通过本教程,你已掌握JamTools的完整打包流程。下一步可以:
- 探索testfiles/目录下的功能测试脚本
- 参与开发新功能,如clientFilesTransmitter.py中的文件传输模块
- 优化PaddleOCRModel/目录下的OCR识别模型
JamTools完全开源,欢迎提交PR贡献你的创意!
【免费下载链接】JamToolsJamTools是一个跨平台的小工具集类软件,支持Windows7/8/10/11、Macos、ubuntu系统(其他系统可以直接从源码编译打包)。包含了(滚动/区域)截屏、录屏、文字识别、多种语言互译、多媒体格式转换、鼠标键盘动作录制播放、局域网文件传输、聊天机器人等功能,完全开源!项目地址: https://gitcode.com/gh_mirrors/ja/JamTools
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考