2010-02-26 6 views
7

Die Behinderung, die wir Python zu liefern haben, ist die große Größe der Standard-Bibliothek. Gibt es eine minimale Python-Distribution oder eine einfache Möglichkeit, auszuwählen, was wir von der Standard-Bibliothek wollen? Die Plattform ist Linux.Minimieren Python-Verteilung Größe

+0

Welche Plattform wird Ihnen bereitstellen? – prestomation

Antwort

7

Wenn Sie nur die benötigte Untermenge benötigen (anstatt eine exe zu erstellen, die Sie an Windows-Systeme bindet), verwenden Sie das Standardbibliotheksmodul modulefinder, um alle Module aufzulisten, die Ihr Programm benötigt (Sie erhalten alle) Abhängigkeiten, direkt und indirekt). Dann können Sie zip alle relevanten .pyo oder .pyc Dateien (je nachdem, ob Sie Python laufen mit oder ohne -O Flagge) und verwenden Sie nur, dass zipfile als sys.path (plus ein Verzeichnis für die alle .pyd oder .so nativen Code dynamischen Bibliotheken können Sie müssen - diese müssen direkt im Dateisystem leben, damit das Betriebssystem sie bei Bedarf lädt, kann nicht direkt aus einer Zip-Datei geladen werden, wie es Python-Bytecode-Module leider können.

2

Haben Sie sich py2exe angesehen? Es bietet eine Möglichkeit, Python-Programme ohne Python-Installation zu versenden.

0

Wie Hank Gay und Alex Martelli vorschlagen, können Sie py2exe verwenden. Außerdem würde ich vorschlagen, etwas wie IronPython zu verwenden. Abhängig von Ihrer Anwendung können Sie Bibliotheken verwenden, die in das .NET-Framework integriert sind (oder MONO für Linux). Dies reduziert Ihre Versandgröße, fügt Ihrem Programm jedoch Mindestanforderungen hinzu. Wenn Sie Funktionen aus einer Bibliothek verwenden, können Sie auch from module import x anstelle eines Platzhalterimports verwenden. Dies reduziert die Schiffsgröße als gut, aber vielleicht nicht zu viel

hoffe, das hilft