Cual es el más pitónico:instalar módulos de Python a través de un administrador de paquetes (macports, apt) o mediante pip/easy_install/setuptools

StackOverflow https://stackoverflow.com/questions/1559372

Pregunta

Por lo general, tiendo a instalar cosas a través del administrador de paquetes, para cosas de Unixy.Sin embargo, cuando programaba mucho Perl, usaba CPAN, versiones más nuevas y todo eso.

En general, solía instalar elementos del sistema a través del administrador de paquetes y elementos de idioma a través de su propio administrador de paquetes ( gem/easy_install|pip/cpan)

Ahora que uso Python principalmente, me pregunto cuál es la mejor práctica.

¿Fue útil?

Solución

La versión pitón sistema y sus bibliotecas son a menudo utilizados por el software en la distribución. Mientras el software que está utilizando están contentos con las mismas versiones de Python y todas las bibliotecas como su distribución es, que el uso de los paquetes de distribución funcionará bien.

Sin embargo, muy a menudo se necesita la versión desarrollo de paquetes, o una versión o versiones anteriores. Y entonces ya no funciona más.

Por lo tanto se suele recommeded para instalar su propia versión de Python que se utiliza para el desarrollo, y crear entornos de desarrollo con o href="http://pypi.python.org/pypi/virtualenv" rel="noreferrer"> virtualenv o ambos, para aislar el pitón del sistema y el entorno de desarrollo unos de otros.

Otros consejos

Hay dos campos completamente opuestos:uno a favor de los paquetes proporcionados por el sistema y otro a favor de la instalación por separado.Personalmente estoy en el campo de los "paquetes de sistema".Proporcionaré argumentos de cada lado a continuación.

Paquetes de sistema profesionales:El empaquetador del sistema ya se preocupa por la dependencia y el cumplimiento de las políticas generales del sistema (como el diseño de archivos).Los paquetes del sistema proporcionan actualizaciones de seguridad y al mismo tiempo se preocupan por no romper la compatibilidad, por lo que a veces respaldan correcciones de seguridad que los autores originales no respaldaron.Los paquetes del sistema son "seguros" wrt.actualizaciones del sistema:Después de una actualización del sistema, probablemente también tenga una nueva versión de Python, pero todos sus módulos de Python seguirán ahí si provienen de un empaquetador del sistema.Esa es toda una experiencia personal con Debian.

Paquetes de sistema estafa:Es posible que no todo el software se proporcione como un paquete del sistema o no en la última versión;instalar cosas usted mismo en el sistema puede dañar los paquetes del sistema.Las actualizaciones pueden dañar su aplicación.

Instalación separada profesional:Algunas personas (en particular los desarrolladores de aplicaciones web) argumentan que es absolutamente necesario una configuración repetible, con sólo los paquetes que desea y completamente desacoplada del sistema Python.Esto va más allá de lo autoinstalado vs.paquetes del sistema, ya que incluso para los autoinstalados, aún puede modificar el sistema Python;con la instalación separada, no lo harás.Como comenta Lennart, ahora existen cadenas de herramientas dedicadas para respaldar esta configuración.La gente sostiene que sólo este enfoque puede garantizar resultados repetibles.

Con instalación independiente:usted mismo debe ocuparse de la corrección de errores y debe asegurarse de que todos sus usuarios utilicen la instalación por separado.En el caso de las aplicaciones web, esto último suele ser fácil de lograr.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top