Dotaz

Spoustim (win7 64bit) "zkompilovany" pythoni skript pomoci py2exe, ktery mi havaruje a do chyboveho logu vypise:

Traceback (most recent call last):
File "runSeg.py", line 7, in <module>
File "mainMenu.pyc", line 7, in <module>
File "imageFilesOperation.pyc", line 2, in <module>
File "vtk\__init__.pyc", line 43, in <module>
File "vtk\io.pyc", line 9, in <module>
File "vtk\vtkIOPython.pyc", line 12, in <module>
File "vtk\vtkIOPython.pyc", line 10, in __load
ImportError: DLL load failed: The application has failed to start because its side-by-side configuration is incorrect. Please see the application event log  or use the command-line sxstrace.exe tool for more detail.

Jedna se o jiny stroj, nez na kterem byl skript "zkompilovan". Na stroji (take win7 64bit), kde byl skript kompilovan aplikace bezi bez problemu, takze si myslim, ze v systemu chybi nejaka knihovna. Resil nekdo podobnou zalezitost a umi poradit jak odstranit chybu?

Řešení

Problem jsem uspesne vyresil a binarku je spustitelna snad jiz nezavisle na nainstalovanem softwaru. Pro celistvost posilam reseni problemu:

Jiz jsem nevedel jak dal a tak jsem nainstaloval Microsoft Visual Studio 2008 (VS) v plnotucne verzi jako 30 denni trial. Spustil svou pythoni binarku, ktera zacala fungovat. Bylo tedy jasne, ze chybely knihovny zavlecene prave VS, ktere Express verze (ta byla nainstalovana jiz drive) nezavlekla. Od toho jsem se odpichl, zkopiroval slozku s VS a posleze odinstaloval. Ujistil jsem se, ze binarka opet nefunguje a zacal zkouset pridavat knihovny ze zkopirovane slozky VS. Resenim bylo do dir s binarkou nakopirovat 4 soubory ze slozky Microsoft Visual Studio 9/VC/redist/Debug_NonRedist?/amd64/Microsoft.VC90.DebugCRT/:

manifest
msvcm90d.dll
msvcp90d.dll
msvcr90d.dll

Po tomto zasahu se binarka jiz spustila korektne. Mam vsak takove tuseni, ze jiz drive jsem tyto knihovny zkousel dohravat (avsak nebyly zkopirovane z VS ale nekde ze systemu ci z netu) a bezuspechu. Snad to v budoucnu nekomu pomuze.