Frage

Ich brauche einen Weg, um die gesamte Python-Standardbibliothek in mein Programm zu importieren.

Dies mag zwar wie eine schlechte Idee scheint, möchte ich dies zu tun ist, so wird py2exe die gesamte Standard-Bibliothek mit meinem Programm-Paket, so dass meine Benutzer es in der Shell importieren könnten, die ich ihnen geben.

Gibt es eine einfache Möglichkeit, dies zu tun?

Bonuspunkte: Ich würde es vorziehen, dass diese Aktion die Pakete nicht importieren ich in Website-Pakete installiert haben und die mit Python nicht gekommen. Dies ist jedoch nicht kritisch.

War es hilfreich?

Lösung

Hey, ich dachte nur etwas: Ich brauche nur eine Liste aller Module in stdlib, und dann werde ich automatisch ein Python-Skript generieren, die jeder von ihnen „von Hand“, wie diese Importe:

import re
import math
import time
# ...

Und dann schließen, dass mit meinem Programm.

Also alles, was ich jetzt brauchen, ist eine leicht formatierte Liste aller Module / Pakete in stdlib. Nun, wie kann ich das?

UPDATE:

habe ich die Liste wie folgt: Ich Python installiert 2.6 auf einer virtuellen Maschine, dann lief in IDLE:

import pkgutil
stuff = [thing[1] for thing in pkgutil.iter_modules()]
stuff.sort() # To make it easy to look through
print(stuff)

Dann die Ausgabe in meine IDE Kopie geklebt, und machte ein kleines Skript zu schreiben:

if False:
    import re
    import email
    import time
    # ...

In einem Python-Modul, das ich in meinem Programm importiert werden.

Es funktioniert! py2exe packt die gesamte stdlib.

UPDATE:

Ich habe ein Paket, das dies tut. Ich würde es hier hochladen, aber da ich keinen Upload-Button sehen, können Sie es aus meinem Projektordner erhalten:

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

Es ist im Ordner src wird das Paket mit dem Namen almostimportstdlib und es ist dokumentiert.

Andere Tipps

habe ich eine Zip-Datei aus dem all Python-Standardbibliothek und hinzugefügt, um es dann sys.path, wenn das Programm gestartet wird.

Sie können an den Quellen einen Blick hier (aufgegeben Projekt )

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top