如何在Ubuntu系统中将Kivy与Python项目打包为可执行文件
Ubuntu系统下打包Kivy应用为可执行文件的实操方案
推荐使用PyInstaller完成打包,操作步骤如下:
步骤1:安装环境依赖
首先安装系统层面的编译和运行依赖:
sudo apt update sudo apt install python3-dev build-essential libgl1-mesa-glx libgles2-mesa-dev
再安装Python依赖:
pip3 install pyinstaller kivy
如果你的项目还有其他第三方依赖,也需要提前安装到当前Python环境中
步骤2:生成打包配置文件
进入你的项目根目录,以入口文件为main.py为例,执行命令生成spec配置文件:pyi-makespec --onefile --windowed main.py
参数说明:
--onefile:最终打包为单个独立可执行文件,方便分发--windowed:启动应用时不弹出黑框终端窗口,若需要调试可以去掉该参数
步骤3:修改spec配置适配KV文件和静态资源
打开生成的main.spec文件,找到datas配置项,将你的所有KV文件、图片、字体等静态资源添加到列表中,格式为(资源在本地的路径, 资源在打包后运行环境的相对路径),示例配置:
datas = [ ('main.kv', '.'), ('custom_widget.kv', '.'), ('assets/', 'assets/') ]
如果后续运行可执行文件提示缺少模块,可将缺失的模块名添加到hiddenimports列表中,示例:
hiddenimports = ['kivy.clock', 'kivy.uix.button', '你的其他自定义模块名']
步骤4:执行打包
运行以下命令启动打包:pyinstaller main.spec
打包完成后,生成的可执行文件会保存在项目根目录的dist文件夹下,直接双击或者终端运行即可启动应用。
其他可选方案
如果需要打包为Ubuntu系统可直接安装的deb包,可使用BeeWare的Briefcase工具,按照工具指引配置后可直接生成deb安装包,更适合面向普通用户分发。
注意事项
- 打包使用的Ubuntu系统版本尽可能和目标用户的系统版本保持一致,避免因glibc等系统库版本不兼容导致无法运行
- 打包完成后建议在干净的Ubuntu环境下测试运行,确认所有依赖都已正常打包
内容的提问来源于stack exchange,提问作者Angel Nieto
相关产品推荐
相关产品推荐

