0

Take a look at this output from the console: http://pastebin.com/Vy5BqfYL

My IDE is Pycharm and I'm using Pyinstaller with the single file executable. The PyInstaller is throwing massive amount of errors, yet the exe created seems to be working.

Using Python 3.5.

Should I be concerned?

Somebody
  • 27
  • 1
  • 6
  • I would try installing the missing files. Checkout: http://stackoverflow.com/questions/33265663/api-ms-win-crt-runtime-l1-1-0-dll-is-missing-when-open-office-file – code base 5000 Aug 30 '16 at 09:21

1 Answers1

0

Yes, you should be concerned because the binary will work for you but probably not in all targeted systems.

The 'errors' you are reporting are warnings and not errors. Pyinstaller tells you that it can't find windows CRT. However if the binary works for you:

  • probably you have the CRT in some place which can not be found by PyInstaller. Check dlls on your system (probably a file search can help). Check PATH environment var and PYTHONPATH.

  • probably you have some 32bit vs 64bit issue: the python scripts uses a dll from one type while PyInstaller searches for another dll type which you have not... Check it! I saw in your trace that you are using a Windows 7 OS and PyInstaller is searching dlls in system32. Is your OS 64bit and your python version 32bit? This is some kind of dll smell.

To have a sane and good target binary you should ensure to have all dependencies. Do not rely on Windows updates on your target platforms but prefer packing all dependencies in a single distribution.

To ensure a software running in all platforms you should pack a binary for 32bit and one for 64bit. Or at least one for 32bits working also in a 64bit environment.

J_Zar
  • 1,334
  • 1
  • 15
  • 27
  • I fired up Dependency Walker on Pyhton.exe, this is the output: https://gist.github.com/anonymous/2264f6de8b444bbf36497e338b76f8e9 still lost on what I'm really suppose to do. – Somebody Aug 30 '16 at 11:31
  • So you are using a 64 bit OS. Check: - that the python version you installed is a 64 bit one. PYTHON35.DLL is usually located in something like *system32* if the version is 32bit. If you intended to use a 64 bit version of python you should install the x86-64 one from the official download: https://www.python.org/ftp/python/3.5.2/python-3.5.2-amd64.exe. Reinstall all modules (PyInstaller included). Retry packaging. – J_Zar Aug 30 '16 at 14:28
  • - if you really want a 32bit version of your binary install the 32 bit version of WinCRT with a x86 ython. You can also install both of them, but I think that one of these versions is already installed in your system. Both the versions can be found here: 32 bit => http://download.microsoft.com/download/9/3/F/93FCF1E7-E6A4-478B-96E7-D4B285925B00/vc_redist.x86.exe 64 bit => http://download.microsoft.com/download/9/3/F/93FCF1E7-E6A4-478B-96E7-D4B285925B00/vc_redist.x64.exe – J_Zar Aug 30 '16 at 14:28