2008-10-04 12 views
10

Ich habe versucht, ein Twisted-Programm mit py2exe zu packen, aber sobald ich die exe-Datei ausgeführt habe, die ich gebaut habe, bekam ich einen Fehler "Kein Modul namens Ressource".Wie verdrehte Programm mit py2exe verpacken?

Und ich fand die py2exe sagte:

Folgende Module zu fehlen scheint [ 'FCNTL', 'OpenSSL', 'email.Generator', 'email.Iterators', 'email.Utils' 'pkg_resources', 'pywintypes', 'Ressourcen', 'win32api', 'win32con', 'win32event', 'win32file', 'win32pipe', 'win32process', 'win32security']

So wie Ich löse dieses Problem?

Danke.

Antwort

10

Ich habe das schon mal gesehen ... py2exe erkennt aus irgendeinem Grund nicht, dass diese Module im ZIP-Archiv benötigt werden und lässt sie aus.

Sie können explizit Module angeben, auf der py2exe Befehlszeile enthalten:

python setup.py py2exe -p win32com -i twisted.web.resource 

So ähnlich. Informiere dich über die Optionen und experimentiere.

+0

mich Setzen Sie auf dem richtigen Weg, danke. Bei neueren Versionen benötigst du "cookielib" - was ich zuvor auf die schwarze Liste gesetzt hatte, um es auszuschließen und Gewicht zu sparen. – totaam

0

Hatte dasselbe Problem mit E-Mail-Modul. Ich habe es explizit mit Modulen in setup.py arbeiten:

OLD setup.py:

setup(console = ['main.py']) 

New setup.py:

setup(console = ['main.py'], 
     options={"py2exe":{"includes":["email.mime.multipart","email.mime.text"]}})