Question

J'ai besoin d'un moyen d'importer toute la bibliothèque standard Python dans mon programme.

Bien que cela puisse sembler une mauvaise idée, je souhaite procéder de la sorte. py2exe conditionnera la totalité de la bibliothèque standard avec mon programme afin que mes utilisateurs puissent l'importer dans le shell que je leur ai fourni.

Existe-t-il un moyen facile de faire cela?

Points bonus: je préférerais que cette action N'importe PAS les packages que j'ai installés dans les packages de site et qui ne sont pas fournis avec Python. Cependant, cela n’est pas critique.

Était-ce utile?

La solution

Hé, je viens de penser à quelque chose: je n'ai besoin que d'une liste de tous les modules de stdlib, puis je générerai automatiquement un script Python qui importe chacun d'entre eux "manuellement", comme ceci:

import re
import math
import time
# ...

Et ensuite l'inclure dans mon programme.

Donc, tout ce dont j'ai besoin maintenant, c'est d'une liste facilement formatée de tous les modules / packages de stdlib. Maintenant, comment puis-je l'obtenir?

UPDATE:

J'ai la liste suivante: j'ai installé Python 2.6 sur une machine virtuelle, puis exécuté dans 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 la sortie collée dans mon IDE et créez 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 contient l’ensemble de la bibliothèque stdlib.

UPDATE:

J'ai créé un package qui le fait. Je le téléchargerais ici, mais comme je ne vois aucun bouton de téléchargement, vous pouvez le retirer de mon dossier de projet:

http://github.com/cool-RR/PythonTurtle/tree/master

Il se trouve dans le dossier src , le package s'appelle presqueimportstdlib et il est documenté.

Autres conseils

J'ai créé un fichier zip à partir de toute la bibliothèque standard Python, puis je l'ai ajouté à sys.path au démarrage du programme.

Vous pouvez consulter les sources ici (projet abandonné )

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top