Установка как lxml 3.1.2, так и lxml2 в Ubuntu 12.04

Я спросил об этом на SO: https://stackoverflow.com/questions/19852911/lxml-3-1-2-and-lxml2-both-on-ubuntu/19856674#19856674

Но это, возможно, больше подходит для AskUbuntu. Таким образом, это снова, переформулировано.

На сайте lxml они предлагают, чтобы на ubuntu была доступна как lxml2, так и новейшая версия lxml:

Использование lxml с python-libxml2

Если вы хотите чтобы использовать lxml вместе с официальными привязками Python libxml2 (возможно, потому, что одна из ваших зависимостей использует его), вы должны построить lxml статически. В противном случае эти два пакета будут мешать в тех местах, где для библиотеки libxml2 требуется глобальная конфигурация, что может иметь любой эффект - от исчезновения функциональности до сбоев в любом из двух. Чтобы получить статическую сборку, либо передайте параметр --static-deps сценарию setup.py, либо запустите pip с переменной среды STATIC_DEPS или STATICBUILD, для которой установлено значение true, т.е. STATIC_DEPS = true pip install lxml Переменная среды STATICBUILD обрабатывается аналогичным образом. к переменной STATIC_DEPS, но также используется некоторыми другими пакетами расширений.

Я обычно не понимаю, как обстоят дела с пакетами pip и ubuntu, поэтому я не решаюсь запустить STATIC_DEPS = true pip install lxml . Повредит ли это / спутает ли мой установленный пакет lxml2?

На SO было предложено установить новый lxml в virtualenv. Это выглядит как лучший путь, но сайт lxml предполагает, что двойная установка также будет работать.

В общем: что произойдет, если я использую pip (чтобы получить более новую установку) для пакета, который уже установлен apt-get?

0
задан 23 May 2017 в 15:39

1 ответ

Ubuntu широко использует Python в своих дистрибутивах. По этой причине моя политика заключается в том, чтобы оставить версии Ubuntu строго в одиночку и обновлять их только через менеджер обновлений или apt-get. Таким образом, я избегаю риска дестабилизации некоторого фрагмента кода Ubuntu, который зависит от конкретной версии пакета / модуля python.

Я выполняю всю свою работу по разработке в рабочих пространствах virtualenv и настраиваю свою командную строку и Eclipse для использования соответствующего рабочего пространства для любого приложения, над которым я работаю. Таким образом, я не вмешиваюсь в Ubuntu, а Ubuntu не мешает мне.

Вполне вероятно, что двойная установка lxml будет «работать», но установка, вероятно, будет хрупкой. Зачем рисковать?

0
ответ дан 23 May 2017 в 15:39

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

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