Ubuntu安装Kivy失败:Command "python setup.py egg_info"错误码1
python setup.py egg_info错误 我之前在Ubuntu上折腾Kivy安装时也踩过这个一模一样的坑,来给你好好拆解下:
错误含义解析
Command "python setup.py egg_info" failed with error code 1这个报错本质是:pip在尝试处理Kivy的安装包时,无法生成必要的egg_info元数据文件。这通常不是单一原因导致的——哪怕你已经装了官方列的依赖,也可能是依赖版本不兼容、系统级编译工具缺失、Python版本不匹配,或者之前的pip缓存有脏数据干扰。
一步步解决办法
1. 先确认Python版本兼容性
Kivy对Python版本有明确要求,比如Kivy 2.2.x支持Python 3.7~3.11,如果你用的是3.12+的版本,大概率会出问题。先在终端查下当前Python版本:
python3 --version
如果版本超出兼容范围,建议降级到3.10或者3.11版本(可以用pyenv来管理多版本Python,避免影响系统环境)。
2. 补全系统级编译依赖(关键!)
官方文档列的pip依赖(比如Cython)只是一部分,Ubuntu系统还需要安装底层的编译工具库,这些是源码编译Kivy必须的,之前可能漏装了:
sudo apt-get update sudo apt-get install build-essential git python3-dev python3-setuptools libgl1-mesa-dev libgles2-mesa-dev libx11-dev libxcursor-dev libxi-dev libxinerama-dev libxrandr-dev libxss-dev libdbus-1-dev libsqlite3-dev libssl-dev libpng-dev libjpeg-dev libfreetype6-dev
3. 锁定兼容的Cython版本
哪怕你装了Cython,版本不对也会导致编译失败。Kivy 2.2.x要求Cython版本在>=0.29.20,<3.0之间,先卸载现有Cython,再装指定版本:
pip3 uninstall cython -y pip3 install cython==0.29.36
4. 升级pip并使用预编译轮子安装
源码编译容易出各种问题,直接用pip安装预编译的轮子(wheel)更稳定。先把pip、setuptools和wheel升级到最新版:
pip3 install --upgrade pip setuptools wheel
然后安装Kivy(加上[base]会安装核心依赖,kivy_examples可选,用来验证安装):
pip3 install kivy[base] kivy_examples
5. 清理pip缓存,避免脏数据干扰
如果之前的编译缓存有损坏,会导致重复报错,清理缓存后再试:
pip3 cache purge
6. 检查虚拟环境状态
如果你用的是虚拟环境,确保已经正确激活:
source 你的虚拟环境路径/bin/activate
而且虚拟环境的Python版本要和你检查的版本一致,避免全局环境和虚拟环境的依赖冲突。
验证安装
安装完成后,在终端运行以下命令验证:
python3 -c "import kivy; kivy.require('2.2.0'); print('Kivy安装成功!')"
如果没有报错,就说明搞定了~
内容的提问来源于stack exchange,提问作者mathmaniage




