Не могу установить 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, поэтому не знаю, имеет ли он какое-либо отношение к этому.

Пожалуйста, посоветуйте. Спасибо

1
задан 11 June 2020 в 01:48

1 ответ

Сборка полибара не очень хорошо работает с анакондой. Рекомендуемый способ - либо удалить его, либо полностью отключить при сборке polybar.

Со страницы Известные проблемы polybar wiki:

Проблема: В системах, использующих Anaconda, компиляция polybar, скорее всего, завершится неудачно. с одним из этих сообщений об ошибках:

  • Отсутствует необходимый модуль python: xcbgen
  • ОШИБКА: не удалось вычислить required_start_align структуры "xcb.Setup"
  • Каир не был скомпилирован с поддержкой бэкэнда xcb

Общие сведения Проблема в том, что библиотеки и программы, предоставляемые Во многих случаях Anaconda нельзя использовать для построения полибара.

Исправление: самое простое решение - удалить Anaconda, если она вам не нужна.

Если вы не можете / не хотите удалять Anaconda, нам нужно заставить Polybar не использовать ресурсы, предоставленные Anaconda. Это может быть сделано путем временного удаления любых путей, которые указывают на анаконду из переменные окружения $ PATH и $ PKG_CONFIG_PATH в терминал перед сборкой polybar.

Люди сообщали, что conda deactivate делает это для вас для на данный момент открытый терминал. Если это не сработает, попробуйте сделать это вручную:

Например, если ваша переменная PATH содержит:

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

Удалить / home // anaconda2 / bin и повторно экспортировать переменную:

export PATH = / home // bin: ...: / usr / bin

Сделайте то же самое для PKG_CONFIG_PATH (хотя эта переменная часто уже пусто). Теперь вы должны быть в состоянии построить Polybar с любой сценарий build.sh или cmake и make. Убедитесь, что вы делаете чистую build (перезагружать все исходные файлы polybar).

Последнее предложение очень важно. Вы должны сделать чистую сборку. Это означает удаление загруженных вами исходников Polybar и их повторную загрузку.

2
ответ дан 19 June 2020 в 21:26

Другие вопросы по тегам:

Похожие вопросы: