无法安装 polybar,因为 python-xcbgen 不可用

无法安装 polybar,因为 python-xcbgen 不可用

我遇到了 polybar 依赖问题,我正在使用 Ubuntu20.04。apt-get install出现以下错误:

Package python-xcbgen is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'python-xcbgen' has no installation candidate

然后我尝试了sudo apt-get install python3-xcbgen,成功安装(v 1.14-2)。但是,polybar 安装仍然抱怨找不到 python-xcbgen。

我正在使用 Anaconda python,所以我不知道它是否与它有任何关系。

请提供建议。谢谢

答案1

构建 polybar 似乎无法与 anaconda 很好地配合使用。建议的方法是卸载它或在构建 polybar 时完全禁用它。

来自已知的问题Polybar 维基页面:

问题:在使用 Anaconda 的系统上,编译 polybar 可能会失败,并出现以下错误消息之一:

  • Missing required python module: xcbgen
  • ERROR: could not calc required_start_align of Struct "xcb.Setup"
  • Cairo was not compiled with support for the xcb backend

普遍的问题是,在很多情况下,Anaconda 提供的库和程序不能用于构建 Polybar。

修复:如果您不需要 Anaconda,最简单的修复方法是卸载它。

如果您不能或不想卸载 Anaconda,我们需要强制 polybar 不使用 Anaconda 提供的任何资源。这可以通过在构建 polybar 之前从终端中的 $PATH 和 $PKG_CONFIG_PATH 环境变量中临时删除指向 anaconda 的任何路径来实现。

有人报告说 conda deactivate 会为您针对当前打开的终端执行此操作。如果这不起作用,请尝试手动执行:

例如,如果您的 PATH 变量包含:

/home//anaconda2/bin:/home//bin:...:/usr/bin

删除 /home//anaconda2/bin 并重新导出变量:

导出 PATH=/home//bin:...:/usr/bin

对 PKG_CONFIG_PATH 执行相同操作(尽管此变量通常已经为空)。现在您应该能够使用 build.sh 脚本或 cmake 和 make 构建 polybar。确保您执行的是干净的构建(重新下载所有 polybar 源)。

最后一句非常重要。您必须进行一次干净的构建。这意味着删除您下载的 polybar 源并重新下载它们。

相关内容