当前位置: 首页 > news >正文

DesktopAssistant打包发布实战:生成Windows安装程序与deb包的完整步骤

DesktopAssistant打包发布实战:生成Windows安装程序与deb包的完整步骤

【免费下载链接】DesktopAssistantA Virtual Desktop Assistant Written in Python项目地址: https://gitcode.com/gh_mirrors/des/DesktopAssistant

DesktopAssistant 是一款用 Python 编写的虚拟桌面语音助手,也就是大家熟悉的 Jarvis,它能听懂你的语音指令,帮你打开网站、搜索资料、播放音乐甚至发送邮件。很多新手把代码跑通之后,却卡在了最后一步:如何把 DesktopAssistant 打包成安装程序分享给别人?本文将带来一份完整的 DesktopAssistant 打包发布实战教程,手把手教你生成 Windows 安装程序(exe 安装包)与 Ubuntu deb 安装包,让你和朋友们都能一键安装、开箱即用。

DesktopAssistant 是什么:认识这款 Python 语音助手

DesktopAssistant 是一个基于 Python 开发的桌面语音助手项目,核心文件位于 src 目录下,包括负责语音识别与指令处理的 Jarvis2.py(Ubuntu 版)、Jarvis2_4windows.py(Windows 版),以及提供功能扩展的 actions.py、commands.py 和图形界面 gui.py。

它支持以下典型语音指令,使用起来非常方便:

  • 🗣️ 说 "Hello" 唤醒,说 "Bye" 结束
  • 🌐 说 "Google"、"Youtube" 直接跳转常用网站
  • 🔍 说 "search for ..." 调用搜索引擎查询资料
  • 📧 说 "Open email" 语音口述内容并发送邮件
  • 🎵 说 "play music" 播放、暂停、恢复音乐
  • 📖 说 "wikipedia ..." 朗读百科摘要

上图是项目的功能演示界面,可以看出语音助手集成系统监控、天气、音乐、文件等多项能力,打包发布后用户就能直接体验这些功能。

打包发布前的准备工作:环境与依赖清单

在开始 DesktopAssistant 打包之前,先准备好两样东西:源码和运行环境。

第一步:获取项目源码

使用以下命令将项目克隆到本地(推荐使用 Python 3.9):

git clone https://gitcode.com/gh_mirrors/des/DesktopAssistant cd DesktopAssistant

第二步:安装运行依赖

不同系统使用不同的依赖清单文件,请对号入座:

  • Windows 用户:执行pip install -r requirements.txt,依赖清单见 Requirements&COC/requirements.txt
  • Ubuntu 用户:先执行sudo apt-get install espeak,再执行pip install -r ubuntu_requirements.txt,清单见 Requirements&COC/ubuntu_requirements.txt

第三步:个性化配置

打开 Requirements&COC/config.ini,把master改成你的名字,并按需设置搜索引擎、语音性别、语速和音量。配置完成后,Windows 运行python Jarvis2_4windows.py、Ubuntu 运行python Jarvis2.py即可先验证程序正常。

生成Windows安装程序的完整步骤

打包 Python 程序最常见的方案就是 PyInstaller,它可以把代码连同依赖打包成独立的 exe,再进一步封装成安装程序。

第一步:安装PyInstaller打包工具

在项目目录下执行:

pip install pyinstaller

第二步:执行打包命令生成exe

使用--onefile生成单文件 exe,--windowed隐藏命令行窗口,并指定入口脚本:

pyinstaller --onefile --windowed --name Jarvis2 Jarvis2_4windows.py

打包完成后,可执行文件会出现在dist/Jarvis2.exe。建议加上--icon参数为程序定制图标,让安装包更有辨识度。

第三步:验证exe可正常运行

双击运行dist/Jarvis2.exe,测试语音唤醒和基础指令。如果缺少 PyAudio、pyttsx3 等动态库,可在打包命令中追加--hidden-import显式声明,或确认依赖已按 requirements.txt 完整安装。

第四步:进阶制作正式Setup安装程序

如果希望提供"下一步、下一步"的标准安装体验,可以使用 Inno Setup 或 NSIS 把 exe 封装成 setup 安装程序,实现桌面快捷方式、开始菜单和卸载功能,这也是商业软件常见的 Windows 安装程序形态。

制作deb安装包的完整步骤

在 Ubuntu / Debian 系系统上,deb 包是最规范的软件分发方式,使用dpkg-deb即可手工制作,项目里已经为你准备好了参考文件。

第一步:规划deb包目录结构

deb 包本质是一个特定目录结构的压缩包,先创建目录骨架:

mkdir -p jarvis-deb/DEBIAN mkdir -p jarvis-deb/usr/local/bin/Jarvis2 mkdir -p jarvis-deb/usr/share/applications

把 Jarvis2.py、gui.py 等源码文件复制到usr/local/bin/Jarvis2/目录下。

第二步:编写DEBIAN/control控制文件

DEBIAN/control是 deb 包的"身份证",声明包名、版本、架构与描述。项目参考文件见 installer maker files/control,内容大致如下:

Package: Jarvis Version: 1.0.0 Architecture: all Maintainer: Technerd Brainiac Description: A Virtual Desktop Assistant Written in Python

第三步:添加桌面快捷方式

usr/share/applications/下放置.desktop文件(参考 installer maker files/jarvis desktop assistant.desktop),指定Exec指向脚本路径、Name为 Jarvis,这样安装后应用菜单里就会出现启动图标。

第四步:用dpkg-deb一键打包

回到上层目录执行打包命令:

dpkg-deb --build --root-owner-group jarvis-deb

生成jarvis-deb.deb后,安装与卸载只需两条命令:

sudo dpkg -i jarvis-deb.deb # 安装 sudo dpkg -r jarvis # 卸载

打包后的常见问题与解决办法

  • PyAudio 安装失败:Windows 可安装预编译 wheel;Ubuntu 需先sudo apt install portaudio19-dev python3-pyaudio,再 pip 安装。
  • 语音合成无声音:Ubuntu 务必先安装 espeak 依赖,再运行 pip 安装 Requirements&COC/ubuntu_requirements.txt 中的 pyttsx3。
  • exe 被杀毒软件误报:属 PyInstaller 打包程序常见现象,可用正式代码签名证书规避。
  • deb 安装后菜单无图标:检查.desktop文件中的Exec路径是否与脚本实际位置一致,并执行sudo update-desktop-database

结语

到这里,你已经掌握了 DesktopAssistant 打包发布的两条完整路径:用 PyInstaller 生成 Windows 安装程序,用 dpkg-deb 制作 Ubuntu deb 安装包。打包后的成品不再依赖命令行和 Python 环境,普通用户也能一键安装体验这款 Python 语音助手。动起手来,把属于你的 Jarvis 分享给更多人吧!🚀

【免费下载链接】DesktopAssistantA Virtual Desktop Assistant Written in Python项目地址: https://gitcode.com/gh_mirrors/des/DesktopAssistant

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.cnnetsun.cn/news/4123327.html

相关文章:

  • ZCode与DeepSeek集成指南:打造本地AI编程助手
  • Dtims CPB4612-LF 控制板
  • 对比评测:GifHub vs 其他 GitHub GIF 插件,谁才是评论区动图之王?
  • TypeScript-New-Handbook 新手教程:10 分钟理解静态类型检查的核心理念
  • TypeScript-New-Handbook 完全指南:微软官方 TypeScript 新手册,一篇读懂全貌
  • 磁盘清理工具免费推荐:开源 Czkawka,把重复文件与相似图片一次清干净
  • THCalendarDatePicker 手势交互揭秘:滑动切换月份与年份的 5 个实现细节
  • 基于SpringBoot+Vue的个性化音乐平台网站(源码+讲解视频+LW)
  • obs-shaderfilter扩展像素功能解析:轻松实现投影与边框的渲染技巧
  • 【软考信息安全】密码学考点“涮“明白!5张美食思维导图带你一锅端
  • 给 Copilot for Xcode 开发自定义工具:3 个实战案例,把 AI 助手调教成真正会干活的搭档
  • ECC 智能体钩子系统架构解析:如何为 AI 编码 Agent 装上“会记忆、能拦截、可审计“的行为护栏
  • 洛雪音乐音源怎么装最省心?免费无损音源合集实测导入指南
  • 免费通用设计字体 Morisawa BIZ UDGothic 上手教程:三步搞定下载、安装与排版
  • FIFA 23 修改器完整免费指南:从首条脚本到高阶模组,快速掌控生涯模式全细节
  • 微信聊天记录终极备份指南:用WeChatMsg免费导出HTML、Word、CSV与年度报告
  • ZoneMTA 智能退信处理:如何识别灰名单、拒收与 IP 拉黑
  • 小芯片运行模型时的资源边界
  • vue-star-rating 无障碍实践:用 screen-reader 插槽提升评分的可访问性
  • gruf 性能调优指南:线程池与服务器参数最佳实践
  • 基于微信小程序的剧本杀预约系统(源码+lw+部署文档+讲解等)
  • Dolphin 管理员模式安全指南:如何以 root 权限管理系统文件而不翻车
  • Mac视频预览终极方案:QLVideo让Finder缩略图和空格预览彻底告别格式限制
  • ReGreet配置完全指南:背景、时钟、主题与字体终极自定义清单
  • 小白也能学会!新能源汽车充电小程序支付漏洞挖掘与安全学习(收藏版)
  • 171、Zephyr RTOS调试与测试基础:性能分析工具
  • TabSTAR数据处理全流程揭秘:从原始表格到模型输入的5个关键步骤
  • Awesome-Mixture-of-Experts-Papers研究前沿:MoE未来趋势与5大值得关注的开放问题
  • 扩散模型与iCBF融合:实现安全约束下的离线多智能体强化学习
  • Input Leap 完整上手指南:用一套键鼠控制多台电脑的免费开源 KVM 软件