todas las distribuciones Linux y Mac OS notables vienen envía con alguna versión de Python. Windows no tiene Python instalado por defecto, por lo que debe instalarlo por separado para ejecutar un módulo de Python. Por supuesto, la versión de Python instalada debe ser la misma que su programa (versión 2 o 3).
La forma más fácil de distribuir su programa es simplemente distribuir el código fuente (por ejemplo, enviar su módulo por correo electrónico o subirlo en algún lugar), pero en ese caso, el PC de destino debe tener instalado Python y satisfacer las dependencias. Una solución aún mejor (al menos para la comunidad) es cargar su programa como un paquete en PyPi. Se puede encontrar más información sobre este procedimiento en HERE.
En algunos casos, hay razones que le impiden utilizar estas opciones. Por ejemplo, no puede instalar Python y/o las dependencias (sin cuenta raíz/administrador). Si ese es el caso, puede agrupar sus módulos junto con todo lo que se requiere para ejecutar su programa (por ejemplo, python * .dll en Windows). Por lo que yo sé las opciones básicas de este tipo de distribución son los siguientes:
- py2exe
- py2app (sólo para Mac OS)
- PyInstaller
- cx_Freeze
- bbFreeze
- vendorID
- freeze
- nuitka --standalone
- cython --embed
Una interfaz gráfica para la mayoría de estas herramientas (creo que sólo para Windows) se gui2exe (excepto congelación).
Otro enfoque sería utilizar Portable Python o en caso de Linux/BSD StaticPython
Nota: No todas las herramientas antes mencionadas se ejecutan en todas las plataformas y/o apoyar python3. Verifique su documentación.
ACTUALIZACIÓN
Un módulo en lugar intresting es también Esky, que promete actualización automática aplicaciones congeladas. Puede encontrar una video-introducción HERE
http://stackoverflow.com/questions/1558385/how-can-i-distribute-python-programs?lq=1 – pmav99