Hi Antonio, indeed, my own tests also hinted that enthought packages don't get included completely by pyinstaller, with or without my patch. I think it has to do with the way they are packaged. You said you copied the enthought subfolder into the exe dir? That might actually be part of the problem, because if any *.pyd files in subfolders have a dependency on a MS assembly, this assembly has to be next to the *.pyd files. Can you try duplicating the Microsoft.VC90.CRT folder (or its contents) and put one into each subfolder with *.pyd files? No idea if it works, but it might be worth a try.
Regards, Florian Höch Antonio Valentino schrieb: > On 28 Lug, 21:07, Florian Höch <[email protected]> wrote: >> That's good news to some extent. I've just added an updated patch for >> pyinstaller (same ticket), bindepend.py <file> can now show dependent >> assemblies. Also, when building, assembly files are put into their own >> subfolder (good idea to clear both build and dist directories first so >> you don't get duplicates from a build with the previous patch). You can >> then after building look at all the dependencies of the DLLs with >> bindepend.py, maybe this gives a hint at whats going wrong. > > Hi Florian, > I have still not tested your new patch. > > Anyway after a further analysis I can confirm that the problem is due > to enthought components, or at least my installation of such > components. > > I generated MSI intallers from source using the MinGW compiler and v. > 5.1.4 and swig 1.3.39 for win32. > > Packages are: > > * EnthoughtBase 3.0.3 > * Traits 3.2.0 > * TraitsGUI 3.2.0 > * TraitsBackendQt 3.2.0 > * Enable 3.2.0 > * Chaco 3.2.0 > > the test program is: > > https://svn.enthought.com/enthought/browser/Chaco/trunk/examples/cursor_tool_demo.py > > with the following two lines added before the first enthought import: > > from enthought.etsconfig.api import ETSConfig > ETSConfig.toolkit = 'qt4' > > > Note: pyinstaller seems to have problems with enthought packages so I > copied the site-packages/enthought folder into the dist/ > cursor_tool_demo. > > Now I'm going to apply your patch for further testing. > > > Best regards. > > -- > Antonio Valentino > >>> Florian, >>> testing the patched pyinstaller on an "hello world" program doesn't >>> give any error. >>> Also a minimal PyQt4 app seems to work fine so the problem must be >>> elseware: >>> numpy, >>> gdal, >>> enthought >>> Do you have any idea of how to solve this kind of problem? >>> Do you think a "dependency walker" program could help in this case? >>> Many thanks for you precious help >>> -- >>> Antonio Valentino >>>> Antonio Valentino schrieb: >>>>> On 28 Lug, 15:20, Florian Höch <[email protected]> wrote: >>>>>> It should work without any changes, but maybe clear/delete the build >>>>>> directory. >>>>> Yes. Done. >>>>>> You can check if pyinstaller finds the needed assembly files for Python >>>>>> 2.6 by looking at the output of Build.py (it should print some debug >>>>>> messages like 'I: Found manifest <path>' and 'I: <filename> part of >>>>>> assembly <name> dependency of <otherfile>'). >>>>> OK >>>>> I: Found manifest C:\WINDOWS\WinSxS\Manifests >>>>> \x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022.8_x- >>>>> ww_d08d0375.manifest >>>>> I: SRCPATH: C:\WINDOWS\WinSxS\Manifests >>>>> \x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022.8_x- >>>>> ww_d08d0375.manifest >>>>> I: Microsoft.VC90.CRT.manifest part of assembly Microsoft.VC90.CRT >>>>> dependency of C:\WINDOWS\system32\python26.dll >>>>> I: SRCPATH: C:\WINDOWS\WinSxS >>>>> \x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022.8_x- >>>>> ww_d08d0375\msvcr90.dll >>>>> I: msvcr90.dll part of assembly Microsoft.VC90.CRT dependency of C: >>>>> \WINDOWS\system32\python26.dll >>>>> I: SRCPATH: C:\WINDOWS\WinSxS >>>>> \x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022.8_x- >>>>> ww_d08d0375\msvcp90.dll >>>>> I: msvcp90.dll part of assembly Microsoft.VC90.CRT dependency of C: >>>>> \WINDOWS\system32\python26.dll >>>>> I: SRCPATH: C:\WINDOWS\WinSxS >>>>> \x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022.8_x- >>>>> ww_d08d0375\msvcm90.dll >>>>> I: msvcm90.dll part of assembly Microsoft.VC90.CRT dependency >>>>>> Are you doing an one-dir or one-file build? In the former case, the >>>>> one-dir >>>>>> files Microsoft.VC90.CRT.manifest, msvcm90.dll, msvcp90.dll and >>>>>> msvcr90.dll should appear in your dist/exe directory when you build, in >>>>>> the latter case, they will be added to the exe itself - you can check >>>>>> that with pyinstaller/ArchiveViewer.py <path_to_your_exe>. >>>>> OK >>>>> C:\asigrid\gsdview-0.5.x-valentino\win32\dist\gsdview>dir m* >>>>> Il volume nell'unità C non ha etichetta. >>>>> Numero di serie del volume: 1457-A32A >>>>> Directory di C:\asigrid\gsdview-0.5.x-valentino\win32\dist\gsdview >>>>> 07/11/2007 02.23 1.857 Microsoft.VC90.CRT.manifest >>>>> 13/04/2008 19.13 59.904 MPR.dll >>>>> 06/11/2007 21.23 224.768 msvcm90.dll >>>>> 09/12/2008 15.24 499.712 MSVCP71.dll >>>>> 07/11/2007 02.19 568.832 msvcp90.dll >>>>> 09/12/2008 15.24 348.160 MSVCR71.dll >>>>> 07/11/2007 02.19 655.872 msvcr90.dll >>>>> 7 File 2.359.105 byte >>>>> 0 Directory 1.800.060.928 byte disponibili >>>>> It seems to be all correct but the error dialog keeps popping up :(. >>>>> thanks again >>>>> -- >>>>> Antonio Valentino- Nascondi testo citato >>>> - Mostra testo citato -- Nascondi testo citato >> - Mostra testo citato - > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "PyInstaller" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/PyInstaller?hl=en -~----------~----~----~----~------~----~------~--~---
