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

Установка 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?

решение1

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

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

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

Связанный контент