Instalación de lxml 3.1.2 y lxml2 en ubuntu 12.04

Instalación de lxml 3.1.2 y lxml2 en ubuntu 12.04

Pregunté esto en SO:https://stackoverflow.com/questions/19852911/lxml-3-1-2-and-lxml2-both-on-ubuntu/19856674#19856674

Pero quizás sea más apropiado para AskUbuntu. Así que aquí está de nuevo, reformulado.

En el sitio lxml sugieren que es posible tener tanto lxml2 como la versión más nueva de lxml en ubuntu:

Usando lxml con python-libxml2

Si desea utilizar lxml junto con los enlaces oficiales de Python libxml2 (tal vez porque una de sus dependencias lo usa), debe compilar lxml estáticamente. De lo contrario, los dos paquetes interferirán en lugares donde la biblioteca libxml2 requiere una configuración global, lo que puede tener cualquier tipo de efecto, desde la desaparición de la funcionalidad hasta fallas en cualquiera de los dos. Para obtener una compilación estática, pase la opción --static-deps al script setup.py o ejecute pip con la variable de entorno STATIC_DEPS o STATICBUILD configurada en verdadero, es decir, STATIC_DEPS=true pip install lxml La variable de entorno STATICBUILD se maneja de manera equivalente a la variable STATIC_DEPS, pero también lo utilizan algunos otros paquetes de extensión.

Generalmente estoy confundido acerca de cómo se llevan los paquetes pip y los paquetes ubuntu, así que dudo en ejecutarSTATIC_DEPS=verdadero lxml de instalación de pip. ¿Dañará/confundirá mi paquete lxml2 instalado?

La sugerencia sobre SO fue instalar el nuevo lxml en un virtualenv. Parece la mejor manera de hacerlo, pero el sitio lxml sugiere que una instalación dual también funcionará.

En general: ¿qué sucede si uso pip (para obtener una instalación más nueva) para un paquete que ya está instalado mediante apt-get?

Respuesta1

Ubuntu hace un uso extensivo de Python en sus distribuciones. Por esta razón, mi política es dejar estrictamente las versiones proporcionadas por Ubuntu y actualizarlas sólo a través del administrador de actualizaciones o apt-get. De esta manera, evito el riesgo de desestabilizar algún fragmento de código de Ubuntu que depende de una versión particular del paquete/módulo de Python.

Hago todo mi trabajo de desarrollo en espacios de trabajo virtualenv y configuro mi línea de comando y Eclipse para usar el espacio de trabajo apropiado para cualquier aplicación en la que esté trabajando. Por lo tanto, no interfiero con Ubuntu y Ubuntu no interfiere conmigo.

Es muy probable que una instalación dual de lxml "funcione", pero es probable que la instalación sea frágil. ¿Por qué correr el riesgo?

información relacionada