2010-09-27 20 views
5

¿Es la biblioteca estándar de Python estándar en el sentido de que si Python está instalado, entonces la biblioteca estándar también está instalada?¿La biblioteca estándar de Python es realmente estándar?

El documentation lee

Para Unix-como sistemas operativos Python se proporciona normalmente como una colección de paquetes, lo que puede ser necesario el uso de las herramientas de empaquetado proporcionados con el sistema operativo para obtener algunos o todos los componentes opcionales

La biblioteca estándar index solo muestra como opcional el "Servicio opcional del sistema operativo", por lo que puedo ver.

Entonces, ¿todo lo demás está siempre disponible en una plataforma, si Python está instalado? Si no, ¿qué se puede esperar de los más comunes (Windows, Mac OS X, Linux)?

PD: Estoy enseñando una clase de Python a estudiantes graduados, y me encantaría poder decirles que Python siempre viene con baterías incluidas; esto es de importancia práctica para ellos (cuando llegan a un laboratorio nuevo o usan una máquina nueva, les resulta útil saber qué esperar en términos de disponibilidad de módulos estándar).

+0

¿Has comprobado algunas instalaciones para ver qué obtienes? ¿En qué estás enseñando? ¿Qué has mirado? –

+0

@ S.Lott: Quiero que los estudiantes sepan qué * ellos * pueden esperar cuando llegan a un nuevo entorno (de laboratorio) y tienen que usar cualquier computadora que se les proporcione. Esta es información práctica útil para ellos. (Me encargué de instalar todo lo que los estudiantes necesitan para la clase en las máquinas que usan.) – EOL

Respuesta

7

No es un problema de Python. Puedes enseñar que las baterías están incluidas. Son.

Son las distribuciones incompletas.

No estamos contentos con que Red Hat Enterprise Linux tenga versiones antiguas de Python. Sin embargo, hay recetas para actualizaciones.

Es una práctica de seguridad común desactivar todos los paquetes de desarrollador, dejando Python incompleto. Esta es una situación común fuera de Python y fuera de la distribución esencial de Linux.

Las pilas se incluyen en circunstancias normales. Pero también es muy fácil quitar algunas o todas las baterías. Y muchas organizaciones crearán, por diversas razones, bibliotecas incompletas.

No es Python. Son los ambientes que están incompletos.

+0

+1: Buen punto. Supongo que la moral es que a veces tienes que ir a la tienda y obtener las baterías de Python; pero lo bueno es que siempre los tienen en stock. :) – EOL

2

Depende del empaquetador de distribución. Por ejemplo, en Debian, los módulos de perfiles profile y cprofile se instalan por separado como python-profiler. Otros módulos se pueden separar así también en diferentes distribuciones.

5

En general, sí, todo lo que no figura en la sección opcional siempre estará disponible.

Estas son algunas de las cosas que pueden variar de sistema operativo para la instalación del sistema operativo: http://docs.python.org/library/someos.html

Probablemente no va a utilizar estos a menos que usted está haciendo la programación bastante avanzada.

+2

Eso no es cierto en las instalaciones de Unix.Por ejemplo, si instala el puerto lang/python27 en FreeBSD * * no obtendrá los módulos bsddb, gdbm, sqlite3 o tkinter. Cada uno de ellos depende de otros paquetes que no están instalados por defecto. –

+0

@Just Some Guy - Gracias por agregar eso. Para completar, ¿es una lista completa de lo que tiene dependencias externas o solo unos pocos ejemplos? – dkamins

+1

Creo que es completo para FreeBSD, se basa en el mensaje que se muestra a los usuarios después de instalar Python. Ubuntu también tiene paquetes "python" y "python-minimal", con saltos "mínimos" del mismo tipo que FreeBSD. No estoy seguro de qué (si alguno) de esos se instala por defecto. –

Cuestiones relacionadas