I have a python application that I am trying to build as a pyinstaller
distributable. A similar script builds successfully on Linux.
I am building it on Windows 7 x64, but want to build 32-bit binary for better compatibility, so I am using 32-bit python-2.7. Among my dependencies are matplotlib
and pyside
which require MSVC. I install a package called VCForPython27 from Microsoft.
I run into an error when I run my pyinstaller script. I get the following message:
1250 INFO: Adding Microsoft.VC90.CRT to dependent assemblies of final executable 7428 INFO: Searching for assembly x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022.8_none ... 7428 WARNING: Assembly not found 7428 ERROR: Assembly x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022.8_none not found 7475 WARNING: lib not found: MSVCR90.dll dependency of C:\Python27\python.exe 7553 INFO: Searching for assembly x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022.8_none ... 7553 WARNING: Assembly not found 7553 ERROR: Assembly x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022.8_none not found 7662 WARNING: lib not found: MSVCR90.dll dependency of C:\Windows\system32\python27.dll 7662 INFO: Analyzing C:\Python27\lib\site-packages\PyInstaller\loader\_pyi_boots
There are multiple messages like that about both the files MSVCP90.dll and MSVCR90.dll
I can see that I have a folder C:\Windows\winsxs\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.4148_none_5090ab56bcba71c2
that contains versions of both files.
This mismatch occurs both when I install my python packages from Christoph Gohlke's page and with pip
(except for matplotlib, which I can't install with pip because of missing dependencies).
Strangely enough pyinstaller
makes a binary. Yet, when I try to run it I get a popup saying:
WARNING: file already exists but should not: C:\Users\Martin\AppData\Local\Temp\_MEI34922\Include\pyconfig.h
Does anyone know how I can do any of the following:
- Install the precious
x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022.8_none
assembly? Where can I take this specific version from? - Tell python to look for the other version (
x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.4148_none_5090ab56bcba71c2
)? - Solve the
pyconfig.h
unwanted presence issue? Doesn't seem to lead anywhere, but I thought I should try it too. - Find another way to build my code to a binary? It's a complicated code, running external binaries, but if I have to I will try py2exe, not sure that it would be any better though.