Frage

Ich werde gestehen, ich bin sehr neu in Python und ich weiß nicht wirklich, was ich tue noch. Vor kurzem habe ich eine sehr kleine Windows-Anwendung unter Verwendung von Python 2.6.2 und wxPython 2.8. Und es funktioniert gut; Ich bin ganz zufrieden, wie gut es funktioniert normal. Durch normalerweise meine ich, wenn ich es direkt über den Python-Interpreter aufrufen, wie folgt aus:

> python myapp.py

Allerdings wollte ich einen Schritt weiter gehen und diese tatsächlich in eine eigenständige ausführbare Datei kompilieren. Also folgte ich diese Anweisungen aus dem WxPython Wiki die py2exe nutzen. Zuerst gab es mir Fehler in der Befehlszeile, sagte msvcr90.dll fehlte. Dann kopierte ich msvcr90.dll in meine Python \ DLLs Ordner. Das sah zunächst wie sie es fest, da es erfolgreich tat, was er tun musste. Es tat Finish mit einer schnellen Warnung, dass es einige DLL-Dateien waren das Programm hängt davon ab, und ich kann oder nicht, sie verteilen müssen.

Also habe ich in den dist-Ordner navigiert, die Py2exe erstellt und versucht hatte, meine ausführbare Datei ausgeführt wird. Doch der Versuch, es zu öffnen, tauchte nur einen Fehlerdialog auf, die sagen:

This application failed to start because MSVCR90.dll was not found.
Re-installing the application may fix this problem.

So ging ich weiter und msvcr90.dll wieder in diesen dist-Ordner kopiert. Aber das hat nicht den Trick. Dann kopierte ich es in das System32-Verzeichnis WINDOWS \. Das tat es auch nicht. Was muss ich tun, dieses Ding zu bekommen zu arbeiten?

War es hilfreich?

Lösung

Sie können nicht einfach kopieren msvcr * .dll - sie müssen für Side-by-Side-Baugruppen mit den Regeln eingerichtet werden. Sie können dies tun, indem Sie die verteilbare Paket installieren wie Sam weist darauf hin, oder Sie können sie neben ausführbaren Dateien setzen, solange man die Regeln gehorchen.

finden Sie im Abschnitt "Bereitstellen von Visual C ++ Bibliothek DLLs als private Assemblys" hier: Wie Bereitstellen von XCopy für Details mit, aber im Grunde Ihre Anwendung sieht wie folgt aus:

c:\My App\MyApp.exe
c:\My App\Microsoft.VC90.CRT\Microsoft.VC90.CRT.manifest
c:\My App\Microsoft.VC90.CRT\msvcr90.dll

Ein Vorteil davon ist, dass Nicht-Admin-Nutzer Ihre App verwenden können (ich glaube, Sie müssen ein Administrator sein, um die Laufzeit über das verteilbare Installationsprogramm zu installieren). Und es gibt keine Notwendigkeit für ein Installateur -. Sie können die Dateien einfach auf einen PC kopieren und alle Werke

Andere Tipps

Ich glaube, die Installation von Microsoft C ++ Redistributable die DLL Sie richtig benötigen installieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top