You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Ubuntu安装Kivy失败:Command "python setup.py egg_info"错误码1

解决Ubuntu下安装Kivy时的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

火山引擎 最新活动