[Python-de] Bereitstellung eines Python-Programms für Windows-User mit py2exe

Thomas Heller theller at python.net
Die Jun 22 13:53:58 CEST 2004


"Plum, Simon (RWTH Aachen)" <Simon.Plum at m.eads.net> writes:

> ich habe py2exe-0.5 mit einem neuen Setup-File ausprobiert, der Fehler den
> ich jetzt bekommen lautet:
>
> 	Traceback <most recent call last>:
> 		File "Tarragon.py", line 19, in ?
> 		File "TechNet.pyc", line 15, in ?
> 		File "numarray\__init__.pyc", line 42, in ?
> 		File "numarray\numarrayall.pyc", line 2, in ?
> 		File "numarray\numarrayall.pyc", line 2, in ?
> 		File "numarray\numarrayall.pyc", line 2, in ?
> 		File "numarray\numarrayall.pyc", line 2, in ?
> 		File "numarray\numarrayall.pyc", line 2, in ?
> 		File "numarray\numarrayall.pyc", line 2, in ?
> ('Tarragon.py' und 'TechNet.pyc' sind meine Module, 'Tarragon' bindet
> 'TechNet.pyc' in Zeile 19 ein und in 'TechNet.pyc' wird in Zeile 15 'from
> numarray import zeros' aufgerufen
>
> Was kann ich machen um das Programm ans laufen zu bekommen? Hat einer
> eine Idee?

Es scheint numarray ist wieder so ein Paket das mit tausenden von pyd's
arbeitet.  In diesem Fall ist es wohl besser das komplette Paket zu
inkludieren.  Mit 'python setup.py py2exe -p numarray' ist es mir
gelungen, numarray's examples\bench.py in ein exe zu konvertieren.

Außerdem solltest Du Konstrukte wie diese vermeiden:

from Numeric import *
from numarray import zeros
import numarray.linear_algebra as LA

So wie ich das sehe definiert Numeric auch eine zeros() Funktion, schon
alleine deshalb würde ich kein import * verwenden.  Ich weiß zwar nicht
ob py2exe das stört, aber man hat schon Kühe k*tzen sehen.

HTH,

Thomas