Hay dos campos totalmente opuestos: uno a favor de los paquetes proporcionados por el sistema, y uno a favor de la instalación por separado. Personalmente estoy en el campamento de "paquetes de sistema". Proporcionaré argumentos de cada lado a continuación.
Paquetes de sistema Pro: 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 a la vez que 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, es probable que también tenga una nueva versión de Python, pero todos sus módulos de Python todavía están allí si provienen de un empaquetador del sistema. Esa es toda la experiencia personal con Debian.
Paquetes del sistema Con: no se puede proporcionar todo el software como un paquete del sistema, o no en la última versión; instalar cosas usted mismo en el sistema puede romper los paquetes del sistema. Las actualizaciones pueden romper su aplicación.
Instalación independiente Pro: algunas personas (en particular los desarrolladores de aplicaciones web) argumentan que es absolutamente necesario una configuración repetible, con solo los paquetes que desee, y completamente desacoplado del sistema Python. Esto va más allá de los paquetes autoinstalados frente al sistema, ya que incluso para autoinstalarse, aún puede modificar el sistema python; con la instalación separada, no lo hará. Como discute Lennart, ahora hay cadenas de herramientas dedicadas para admitir esta configuración. La gente argumenta que solo este enfoque puede garantizar resultados repetibles.
Instalación separada: tiene que encargarse de las correcciones de errores usted mismo, y debe asegurarse de que todos los usuarios utilicen la instalación por separado. En el caso de las aplicaciones web, esta última suele ser fácil de lograr.
[pyenv] (https://github.com/yyuu/pyenv#readme) es una herramienta maravillosa para administrar múltiples versiones de Python y [virtualenvs] (https://github.com/yyuu/pyenv-virtualenv#readme) –