2011-04-06 9 views
5

Me gusta mucho la filosofía de "batería incluida" de Python, pero ahora tengo que realizar una instalación delgada con solo funciones principales y alguna otra que me gustaría elegir una por una.Obtener Python sin (seleccionado) baterías

¿Es posible descargar Python con solo módulos seleccionados?

+1

La mayoría de las características del lenguaje central provienen de la biblioteca estándar. ¿Por qué querrías omitirlos? – jathanism

+0

Si no es así, es bastante fácil de instalar normalmente y luego eliminar todas las bibliotecas que no necesita. (Edite @jathanism: defina "características del lenguaje central", porque en mi libro, por definición, no está en las bibliotecas) – delnan

+1

Tengo que hacer un pequeño paquete para enviarlo por correo electrónico o descargarlo. Veo que hay algunas carpetas/bibliotecas que no uso (test, docs, tcl) que toman varios MBs – Don

Respuesta

3

Instale Python de forma normal. Abre el intérprete de Python e importa algunas de las cosas que crees que no querrás.

import io, optparse, tarfile 

Entonces el str representación del módulo tiene su camino en ella

>>> tarfile 
<module 'tarfile' from '/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/tarfile.py'> 

Sólo puede entrar y eliminar cualquier .py archivos que no desea en su instalación.

Obviamente esto es peligroso porque realmente no conoce las dependencias internas de los módulos de Python.

+0

No está claro si el OP quiso eliminar los módulos * stdlib * (que no sean tkinter). –

1

AFAIK no es posible descargar Python con solo módulos seleccionados, pero después de una instalación puede eliminar todo (léase: las bibliotecas) que no necesita (nunca va a utilizar JSON? Gone !, etc.).

+0

Lo intentaré. Pensé que había una manera más limpia ... – Don

2

veo que hay algunas carpetas/libs que yo no uso (prueba, docs, TCL) que tardan varios MBs

ActivePython no incluye pruebas , y proporciona una correcta instalación opción de hora para excluir documentación y PyWin32 (aunque no para tcl/tkinter, pero puede eliminarlo de forma segura después de la instalación).

Como alternativa, puede usar PyInstaller para crear un instalador personalizado para su aplicación.

+0

+1 para pyinstaller –

2

Eche un vistazo a py2exe o proyectos similares. Básicamente, empaquetan una secuencia de comandos de Python con toda su dependencia en un único ejecutable. Parece que sería lo correcto para ti.

Si recuerdo que también hay un módulo independiente en py2exe que analiza recursivamente la dependencia de un módulo de Python, no puedo encontrarlo ahora.

0

Puede comenzar desde TinyPy y agregar lo que necesita. Sin embargo, TinyPy parece no haber sido mantenido.

Cuestiones relacionadas