Instalando lxml 3.1.2 e lxml2 no Ubuntu 12.04

Instalando lxml 3.1.2 e lxml2 no Ubuntu 12.04

Eu perguntei isso no SO:https://stackoverflow.com/questions/19852911/lxml-3-1-2-and-lxml2-both-on-ubuntu/19856674#19856674

Mas talvez seja mais apropriado para o AskUbuntu. Então aqui está de novo, reformulado.

No site lxml eles sugerem que é possível ter tanto o lxml2 quanto a versão mais recente do lxml no ubuntu:

Usando lxml com python-libxml2

Se você quiser usar o lxml junto com as ligações oficiais do libxml2 Python (talvez porque uma de suas dependências o use), você deve construir o lxml estaticamente. Caso contrário, os dois pacotes irão interferir em locais onde a biblioteca libxml2 requer configuração global, o que pode ter qualquer tipo de efeito, desde o desaparecimento da funcionalidade até travamentos em qualquer um dos dois. Para obter uma compilação estática, passe a opção --static-deps para o script setup.py ou execute pip com a variável de ambiente STATIC_DEPS ou STATICBUILD definida como true, ou seja, STATIC_DEPS=true pip install lxml A variável de ambiente STATICBUILD é tratada de forma equivalente à variável STATIC_DEPS, mas também é usado por alguns outros pacotes de extensão.

Geralmente fico confuso sobre como os pacotes pip e os pacotes ubuntu se dão bem, então hesito em executarSTATIC_DEPS = verdadeiro pip instalar lxml. Isso danificará/confundirá meu pacote lxml2 instalado?

A sugestão no SO foi instalar o novo lxml em um virtualenv. Essa parece ser a melhor maneira de fazer isso, mas o site lxml sugere que uma instalação dupla também funcionará.

Em geral: o que acontece se eu usar o pip (para obter uma instalação mais recente) para um pacote que já está instalado pelo apt-get?

Responder1

O Ubuntu faz uso extensivo de Python em suas distribuições. Por esse motivo, minha política é deixar as versões fornecidas pelo Ubuntu estritamente em paz e atualizá-las apenas através do gerenciador de atualização ou do apt-get. Dessa forma, evito o risco de desestabilizar algum trecho do código do Ubuntu que depende de uma versão específica do pacote/módulo python.

Eu faço todo o meu trabalho de desenvolvimento em espaços de trabalho virtualenv e configuro minha linha de comando e o Eclipse para usar o espaço de trabalho apropriado para qualquer aplicativo em que estou trabalhando. Assim eu não interfiro no Ubuntu e o Ubuntu não interfere comigo.

É bastante provável que uma instalação dupla do lxml "funcione", mas a instalação provavelmente será frágil. Por que correr o risco?

informação relacionada