Hey, je viens de penser à quelque chose: je ne ai besoin d'une liste de tous les modules stdlib, puis je vais générer automatiquement un script Python qui importe chacun d'eux « manuellement », comme ceci:
import re
import math
import time
# ...
Et ensuite l'inclure avec mon programme.
Alors tout ce dont j'ai besoin maintenant est une liste facilement formatée de tous les modules/paquets de stdlib. Maintenant, comment puis-je obtenir cela?
MISE À JOUR:
Je suis la liste comme ceci: J'ai installé Python 2.6 sur une machine virtuelle, puis a couru en IDLE:
import pkgutil
stuff = [thing[1] for thing in pkgutil.iter_modules()]
stuff.sort() # To make it easy to look through
print(stuff)
Ensuite, copiez collé la sortie dans mon IDE, et fait un petit script pour écrire:
if False:
import re
import email
import time
# ...
Dans un module Python que j'importe dans mon programme.
Cela fonctionne! py2exe emballe le stdlib entier.
MISE À JOUR:
J'ai créé un paquet qui fait cela. Je le télécharger ici, mais depuis que je ne vois pas le bouton de téléchargement, vous pouvez l'obtenir de mon dossier de projet:
http://github.com/cool-RR/PythonTurtle/tree/master
Il est dans le dossier src
, le paquet est appelé almostimportstdlib
et il est documenté.
Quoi? Vous écrivez un shell qui démarre en préimportant tout? Quel est le cas d'utilisation possible pour cela? Pour enregistrer les utilisateurs en tapant une douzaine de caractères de "importer ceci"? –
Il ne pré-importe rien. Mais pour que l'utilisateur puisse importer des choses de stdlib, je dois les importer (ou sembler les importer) dans mon programme, ainsi py2exe saura que j'ai besoin d'eux et les empaquette avec mon exécutable. –