J'écris une application Web en Python, destinée aux enseignants et aux élèves dans une salle de classe. Il fonctionnera à partir d'un site Web hébergé, mais je souhaite également que les utilisateurs puissent télécharger une application autonome qu'ils peuvent installer localement s'ils veulent plus de performances ou s'ils n'auront tout simplement pas de connexion Internet disponible en classe.Distribution d'une application Web Python autonome à des utilisateurs non techniques
Les utilisateurs ne pourront pas gérer les instructions comme "installez Python en premier, puis installez les dépendances, téléchargez l'archive .tar.gz et tapez ces commandes dans la ligne de commande ...". Je dois être capable de créer un programme d'installation de type tout-en-un qui peut potentiellement installer Python, dépendances (Python-LDAP), du code Python, et enregistrer un serveur web basé sur Python en tant que service Windows.
J'ai jeté un coup d'œil aux questions précédentes, mais aucune ne semble vraiment pertinente. Je ne suis pas préoccupé par la sécurité du code source (mon application sera open source, je vais vendre du contenu pour aller avec), j'ai juste besoin d'utilisateurs Windows non-techniques pour pouvoir télécharger et utiliser mon application sans tracas . Mes pensées actuelles sont d'utiliser NSIS pour créer un programme d'installation qui inclut Python et Python-LDAP en tant que MSI, puis enregistre mon propre serveur web basé sur Python en tant que service Windows et met un raccourci dans le menu Démarrer/sur le bureau reliant à http://localhost. Est-ce faisable avec NSIS - NSIS peut-il vérifier les copies actuellement installées de Python, par exemple? Existe-t-il une meilleure façon de procéder? Existe-t-il un cadre pratique qui me permet de placer mon code dans un dossier et de le regrouper pour en faire un installateur?
Pensez plus loin, je vais avoir une fenêtre frontale GUI simple qui dit "Serveur en cours d'exécution - cliquez ici pour fermer" pour une utilisation de bureau simple et avoir un installateur différent pour les utilisateurs plus techniques. Emballage cette version serait probablement une bonne idée, merci pour la suggestion. –