Ich habe da ein spezielles Problem. Ich möchte gern ein Programm schreiben, welches Module auch ohne Installation benutzen kann. Die Intention ist, dass ich das Programm dann z.B. auf nen USB-Stick packen kann und ich kann es dann überall verwenden, vorausgesetzt es handelt sich um Windows-Rechner auf denen Python installiert ist.
Bei den meisten Modulen funktioniert das auch recht gut. Ich kopiere sie einfach aus dem "site-packages"-Verzeichnis heraus und füge sie in meine Verzeichnisstruktur ein. Eventuell muss ich dann noch eine __init__.py schreiben, aber das funktioniert.
Anders sieht die Sache bei den win32extensions aus. Ich sehe da nicht durch was dort passiert. Da gibt es ja auch noch die Datei "pythoncom.py" im "site-packages"-Verzeichnis. Wofür ist die gut? Wann wird sie ausgeführt? Ich bin genauso vorgegangen wie immer, einfach alles rüber kopiert und dann die Pfade:
win32
win32\lib
pythonwin
in den Python-Path übernommen. Nun ja, zuerst funktionierte nix. Irgendwie fehlten da noch die DLLs. Also habe ich die Datei "win32\lib\pywintypes.py" angepasst und dort die Pfade für die DLLs geändert, so dass sie jetzt aus dem Verzeichnis "pywin32_system32" verwendet werden. Das scheint auch zu funktionieren.
Jetzt kreierte ich einen Dienst wie in http://www.python-forum.de/topic-8422.html beschrieben.
Nun kommt der Fehler:
Code: Alles auswählen
class Win32Service(win32serviceutil.ServiceFramework):
Code: Alles auswählen
AttributeError: 'module' object has no attribute 'ServiceFramework'
Kann da jemand was dazu sagen? Hat jemand selbst schonmal sowas versucht?
Viele Grüße