2009-12-21 6 views
3

J'ai besoin de redistribuer Python 2.6 pour mes utilisateurs.Comment correctement regrouper et installer python aux utilisateurs Windows

Actuellement, j'exécute l'installation silencieuse pour l'installateur msi de http://www.python.org/download/, mais j'ai quelques problèmes, comme si une autre version de python était installée, ceci n'obtiendrait pas la valeur par défaut. D'autre part, malgré cela pourrait être rare, si un utilisateur a déjà python et que j'installe le mien, cela pourrait provoquer un conflit.

Alors, quelle pourrait être la meilleure malédiction? Comment automatiser cette installation? J'ai déjà http://installbuilder.bitrock.com mais la pile de django disponible est trop grande pour mon application, et j'ai besoin de pré-installer plusieurs modules python.

Je me demande si, dans ce cas virtualenv sera la meilleure option, mais toujours la question de l'installer correctement ...

+0

Ceci n'est probablement pas utile, mais avez-vous vraiment besoin de distribuer Python comme une installation normale? Il existe des choses comme py2exe qui, de concert avec les constructeurs d'installateurs comme InnoSetup, vous permettra de fournir des exécutables aux utilisateurs sans interférer avec les installations Python locales ou d'autres problèmes. –

+0

Je ne peux pas utiliser py2exe car c'est pour un serveur qui peut accepter des scripts/plugins en python, donc j'ai besoin de la distribution python complète ... – mamcx

+0

@mamcx, cela ne devrait en aucun cas être un vrai problème. Même si une application est py2exe'd, elle est toujours capable d'importer depuis le système de fichiers et d'utiliser des fonctions comme execfile(). Peut-être que poser une question distincte à ce sujet vous donnerait une solution directe et rendrait cette question particulière sans intérêt. –

Répondre

2

Je ne l'ai pas utilisé, au-delà des recherches initiales, mais ActiveState de ActivePython le fait généralement ce que vous voulez, si vous cherchez une solution commerciale pré-construite.

J'ai travaillé sur un logiciel qui incluait son propre Python fourni, et il n'y a jamais eu de problèmes avec les conflits. Dans notre cas, il a été installé à côté du reste du logiciel, plutôt que C: \ Python26, et il était destiné uniquement à l'usage du logiciel, et non en remplacement d'un quelconque Python existant sur le système. Un Python complet avec le fichier stdlib pré-compilé en .pyo ne prend que ~ 10-20 Mo d'espace, selon les modules que vous incluez. Donc je ne m'inquiéterais pas de la redondance possible. Il vous facilite également la vie en ayant votre propre copie, puisque vous savez exactement quelles versions de toutes les bibliothèques tierces vous avez; Vous n'avez pas à vous inquiéter de la mise à niveau de l'application par l'utilisateur. Le contre-argument est que certains utilisateurs peuvent vouloir les dernières versions des bibliothèques, pour des raisons de sécurité. Mais d'après mon expérience, ces utilisateurs sont dans une très faible minorité, et pour eux, cela se résume à un peu plus de travail. Enfin, je suppose que vous avez des raisons de vouloir une installation complète de Python. Juste au cas où vous êtes seulement intéressé par un moyen de distribuer une seule application, jetez un oeil à py2exe.

+0

Est illégale re-déployer ActivePython. Est-ce nécessaire de payer pour cela et est très coûteux ... – mamcx

+1

Oui, c'est commercial, donc vous avez le désavantage du coût, et l'avantage possible du support. Vous n'avez mentionné aucune exigence en matière de coûts, alors je l'ai proposée en option. – DNS

Questions connexes