2008-10-16 8 views
5

Estoy escribiendo una aplicación web en Python, destinada a profesores y alumnos en un aula. Se ejecutará desde un sitio web alojado, pero también quiero que las personas puedan descargar una aplicación autónoma que pueden instalar localmente si quieren más rendimiento o simplemente no tendrán una conexión a Internet disponible en el aula.Distribución de una aplicación basada en web autónoma de Python a usuarios no técnicos

Los usuarios no podrán administrar instrucciones como "primero instale Python, luego instale dependencias, descargue el archivo .tar.gz y escriba estos comandos en la línea de comandos ...". Necesito poder crear un instalador todo en uno que potencialmente pueda instalar Python, dependencias (Python-LDAP), algún código de Python, y registrar un servidor web basado en Python como un servicio de Windows.

He echado un vistazo a las preguntas anteriores, pero ninguna me parece relevante. No me preocupa la seguridad del código fuente (mi aplicación será de código abierto, venderé contenido para ir con ella), solo necesito que los usuarios de Windows no técnicos puedan descargar y usar mi aplicación sin problemas .

Mis pensamientos actuales son usar NSIS para crear un instalador que incluya Python y Python-LDAP como MSI, luego registre mi propio servidor web basado en Python como un servicio de Windows y ponga un acceso directo en el menú de inicio/en el conexión de escritorio a http://localhost. ¿Es esto factible con NSIS? ¿Puede NSIS comprobar si hay copias instaladas actualmente de Python, por ejemplo? ¿Hay una mejor manera de hacerlo? ¿Hay algún marco práctico disponible que me permita introducir mi código en una carpeta y agruparlo para crear un instalador?

Respuesta

4

Uso de NSIS es grande (lo uso demasiado), pero se recomienda usar un "empaquetador" como PyInstaller (mi favorito personal, las alternativas bb_freeze, py2exe) para crear un exe antes de que el uso de NSIS

El principal beneficio usted consigue haciendo esto es; ¡Tu descarga es más pequeña ya que no estás combinando todo el Python Standard Lib y cosas extra que tu aplicación no necesita y obtienes un archivo exe para arrancar!

+0

Pensando aún más, tendré una ventana de interfaz gráfica de usuario simple que dice "Servidor ejecutándose - haga clic aquí para cerrar" para uso simple de escritorio y tenga un instalador diferente para usuarios más técnicos. Empacar esa versión probablemente sería una buena idea, gracias por la sugerencia. –

0

Puede probar el Bitnami Stack for Django que incluye Apache, MySQL, Python, etc. en un instalador todo en uno. Es gratis/de código abierto

Cuestiones relacionadas