2009-08-24 8 views
2

Possible en double:
py2exe - generate single executable fileCréation d'un seul fichier exe à partir du code Python

Un de mes amis a réussi à emballer un peu un script Ruby écrit-il dans un seul fichier exe. Quand j'ai essayé de faire la même chose pour un script Python, avec py2exe, j'ai aussi eu plusieurs fichiers pyd et une DLL.

Est-il possible d'empaqueter un script Python avec tous ses fichiers DLL et pyd dans un seul exe, et de se débarrasser des autres fichiers?

+0

Dupe: http://stackoverflow.com/questions/112698 – balpha

Répondre

0

Selon py2exe.org:

Le commutateur de ligne de commande --bundle ou -b créera moins de fichiers parce que les extensions binaires, dll d'exécution, et même la dll Python lui-même est fourni dans le fichier exécutable lui-même, ou dans la bibliothèque-archive si vous préférez cela.

...

L'utilisation d'un niveau de 1 comprend les .pyd et les fichiers .dll dans le archive zip ou l'exécutable lui-même, et fait la même chose pour pythonXY.dll. L'avantage est que vous avez seulement besoin de distribuer un fichier par exe, qui sera cependant assez important.

There's also another little tutorial sur la création d'un seul exe qui étendra les DLL dans un répertoire temporaire lors de l'exécution, puis supprimez le tempdir lorsque l'on quitte Python.

0

This page peut probablement vous aider. Plus précisément, il semble que vous pouvez y parvenir en réglant bundle_files sur 1 et zipfile sur None. Je ne l'ai pas testé, et il peut ne pas fonctionner si vous avez des fichiers DLL supplémentaires.

L'autre approche sur cette page semble maladroite: créer un programme d'installation qui étendra le projet dans un répertoire temporaire avant de l'exécuter, et supprimera le répertoire temporaire après la fin de l'application.

Questions connexes