Вопрос по libxml2, homebrew, python, macos – Доморощенный установить libxml2 с модулями Python

9

Доброе утро,

Я пытаюсь установить libxml2 с модулями Python. Я пробовал следующее:

brew install --with-python libxml2                                                                  
==> Downloading ftp://xmlsoft.org/libxml2/libxml2-2.8.0.tar.gz
Already downloaded: /Users/brandon/Library/Caches/Homebrew/libxml2-2.8.0.tar.gz
==> ./configure --prefix=/usr/local/Cellar/libxml2/2.8.0 --without-python

Как вы можете видеть ... даже с флагом --with-python, он все еще конфигурирует исходный код без python!

В конце установки homebrew говорит:

Generally there are no consequences of this for you.
If you build your own software and it requires this formula, you'll need
to add its lib & include paths to your build variables:

    LDFLAGS  -L/usr/local/Cellar/libxml2/2.8.0/lib
    CPPFLAGS -I/usr/local/Cellar/libxml2/2.8.0/include

Когда я пытаюсь установить пакет gnome-doc-utils:

Gnome-doc-utils requires libxml2 to be compiled
with the python modules enabled, to do so:
  $ brew install libxml2 --with-python

Очевидно, я попробовал еще раз ...

╰─ brew install libxml2 --with-python
Error: libxml2-2.8.0 already installed

Я все еще новичок в этом ... поэтому любая помощь будет принята с благодарностью.

У вас есть причина не использоватьpip (или жеeasy_install в крайнем случае)? Они ведут себя намного лучше, чем другие упаковочные инструменты, и работают сvirtualenv! brandizzi

Ваш Ответ

3   ответа
17

Во-первых, вы не можете установить libxml2, потому что вы уже успешно установили его, поэтому вам сначала нужно будет удалить его.

brew uninstall libxml2

Затем вам нужно будет отредактировать формулу варки - что достаточно просто сделать -

тип brew edit libxml2 и изменить линию

system "./configure", "--prefix=#{prefix}", "--without-python"

к этому:

system "./configure", "--prefix=#{prefix}", "--with-python"

Это не решает проблему с формулой brew, но вызывает флаг «- с-python», поэтому при следующем вводеbrew install libxml2 он установит библиотеки Python.

Если вам нужно сбросить формулу (отменить изменения), просто введитеbrew update

Большое спасибо, это исправило мою проблему после долгого поиска!
Я пробовал это ноmake install не удалось с*** [install-am] Error 2 а также*** [install-recursive] Error 1.
7

Это сработало для меня. Сначала отсоедините / удалите, если это было сделано ранее:

brew unlink libxml2
brew unlink libxslt
brew uninstall libxml2
brew uninstall libxslt

затем

brew install --framework python
brew install --with-python libxml2
brew install --with-python libxslt
brew link libxml2 --force
brew link libxslt --force

Вуаля!

Это помогло мне исправить некоторые проблемы с использованием парсера lxml в Beautifulsoup с установленной версией Python для brew, так что спасибо!
& quot; питон не имеет опции --framework & quot;
порядок: brew будет жаловаться, если вы попытаетесь удалить libxml2before libxslt, потому что первое требуется последним. Переключение порядка удаления работает у меня
3

Для чего работала установка libxml2 с --with-python в команде brew

brew install --with-python libxml2

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