[Python-de] Re: PythonRuntime -- war: Dokumentation zu 2.3 & wxPython im HTMLHelp-Format

Thomas Heller theller at python.net
Don Aug 14 19:35:03 EDT 2003


Gerhard Häring <gh at ghaering.de> writes:

> Ich wollte was in einer ein bischen anderen Richtung machen:
>
> PythonRuntime
> =============
>
> Python-Applikationen auf Plattformen, bei denen nicht zumindest Python
> und die großen Python-Libraries im Paketmanagement integriert sind
> (.deb/.pkg/.rpm/...) ist nervig. Im Endeffekt sieht das dann so so
> aus, dass man für jedes kleine Pyhton-Tool *alles* in den Installer
> reinpackt.
>
> Die Lösung: PythonRuntime. Ich will nicht versuchen, den Heiligen Gral
> des Python-Paketmanagements zu finden, sondern eine Lösung vorerst
> *nur* für Windows.
>
> Nach einer Entwicklungs- und Testphase von Python und den Libraries,
> die in PythonRuntime reingehören sollen, werden alle Versionsnummern
> festgenagelt, z. B.:
>
> Python 2.2.3; PySQLite 0.4.3; wxPython 2.4.1.2; usw.

Ich arbeite zur Zeit (falls es die Zeit erlaubt ;-) an einer neuen Version
von py2exe, die das zipimport benutzt. (Falls schon jemand einen Blick
darauf werfen möchte: Es ist schon im CVS, in einem Sandbox
Subdirectory. Aber: work in progress!)

Die packt (optional) nicht mehr alles in das exe-File rein, sondern kann
ein 'application.zip' erzeugen, das dann von einem oder mehreren exes
benutzt wird. Oder auch von gar keinem, dann hat man schon eine
Python-Runtime.

Da man Extensions nicht aus einem Zipfile laden kann, werden in das
Zipfile 'pure Python loader' für diese reingepackt (die dann die
Extension mit imp.load_dynamic() laden, unabhängig von sys.path), und
die Extensions selber in das gleiche Directory kopiert.

Man sollte also dann mit
  'python setup.py py2exe --packages wxPython --name wxPython-2.4.1.2'
eine Runtime erzeugen können, die dann auch separat installierbar
sein kann, und von kleinen exes benutzt wird.

Man könnte dann mehrere Runtimes erzeugen, z.B. Python-Base-2.3,
Python-Devel-2.3, ctypes-0.6.2, win32xxx, usw.

Die exe Files selber enthalten dann nur noch das Script selber, sowie
Verweise auf die benötigten Runtimes, und haben dann wohl nicht mehr als
20 oder 30 kB.

Sobald es dann ein HTTP-Repository für fertige Runtimes gibt, steht
einem automatischem Download nach Bedarf nichts mehr im Wege.

Thomas