-
-
Notifications
You must be signed in to change notification settings - Fork 473
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Windows] Running on Python 3.5/3.6 requires msvcp140.dll which apparently isn't shipped by Python #359
Comments
The link to C++ library is broken. |
@resristow Thanks, updated. |
About the pyinstaller bit, there are some issue with some of these windows crt libraries: pyinstaller/pyinstaller#1566 |
How can I fix this on a system where I might not have admin privileges? Where can I download the standalone DLL? |
Fixed in rev 5030b89 and c852685. This fix includes msvcpxx.dll dependencies for all Python versions 2.7 / 3.4 / 3.5 / 3.6 / 3.7 (msvcp90.dll, msvcp100.dll, msvcp140.dll). This fix will make it into v66 release. The latest Visual C++ redistributable for Python 3.5 / 3.6 / 3.7 is available at this link (14.00.24212): Versions of VC++ runtimes shipped with Python versions:
The vc++ runtime shipped with Python 3.7.0 is newer than the latest vc++ redistributable package available at Microsoft Downloads, so that's strange. I have |
Installed cefpython3 v66.1 on Win7 64bit with Python 3.7.2. I have several versions of MS C++ (2013 and 2017, no 2015), the latest is 14.15.26706.0. The msvcp140.dll file exists in C:\Windows\System32. I still hit this issue. I use venv because I am not an admin on my PC, i.e. I cannot install any other MS C++ redistributable, I have to live with what I have. Can you help me? |
Does it also occur with v66.0? @karolyjozsa |
Huh, v66.0 seems to work. Thanks a lot, I will now then install and use this until a fix comes out in 66.2(?). |
Hmm I don't know what's the issue yet. The difference with 66.1 is that I've used VC++ 14.2 compiler to build. It worked fine for me to build all Python modules with that version of compiler (from Python 3.5 up to Python 3.9) and it ran fine. According to Microsoft the VC++ 14.2 compiler is binary compatible with VC++ 14.0 that cefpython 66.0 was built with. @karolyjozsa What OS are you testing with? What Python version? Is this an official Python binary downloaded from python.org? What if you copy msvcp140.dll from cef v66.0 to cef v66.1? (Steps: install 66.0, go to Python/lib/site-packages/cefpython3/ and make a copy of msvcp140.dll, then install v66.1 and replace the msvcp140.dll with the one you made a copy earlier). |
@karolyjozsa Test also what happens when you delete msvcp140.dll from the cefpython3 directory (with both 66.0 and 66.1). |
That PC has Win7 64bit, Python 3.7.2 and several versions of MS C++, 10.0.x, 12.0.x, 14.15.26706.0, but no 14.0.x. |
Would be good to test it on another Win7 machine. |
We have otherWin7 PCs, but they all have the same company-standard OS image, i.e. same MS C++ versions, so most probably they would result the same. |
I now created another venv on the same PC. First installed v66.0 explicitly, then pip update to v66.1. The funny thing is that there is no "dll load fail" anymore. |
If you get such an error on Windows:
Then most probably this is caused, because you are missing "msvcp140.dll" dependency (for Python 3 for example). This is a dependency for Python C++ extensions (eg. cefpython_py36.pyd depends on it). For Python 3 to fix this download Visual C++ Redistributable for VS2015 (13 MB) - this is just a VC++ redistributable, not a Visual Studio package. For 32-bit download "vc_redist.x86.exe" file and for 64-bit download "vc_redist.x64.exe" file.
Explanation: msvcp140.dll is the DLL for the C++ runtime library. This dependency is added by Cython when building CEF Python module. It seems that Python 3.6 only ships "vcruntime140.dll" which is the DLL for the C runtime library.
When using pyinstaller/py2exe tools for freezing application into exe then these tools should automatically detect the msvcp140.dll dependency and ship it with your application. So it's not an issue for packaged apps.
This info is also available in the Knowledge Base document.
Possible solutions
The text was updated successfully, but these errors were encountered: