Skip to content

The Visual C++ Redistributable for Visual Studio 2015 is required for Python 3.5 #5100

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

Merged
merged 1 commit into from
Sep 19, 2015
Merged

Conversation

cgohlke
Copy link
Contributor

@cgohlke cgohlke commented Sep 18, 2015

I raised the issue on matplotlib-devel on 9/15/2015:

A related issue: The matplotlib extensions for Python 3.5 depend on the
Visual Studio 2015 C/C++ runtime DLLs, specifically vcruntime140.dll and
msvcp140.dll. Vcruntime140.dll is installed with Python 3.5.0 final,
however not copied to virtual environments. Msvcp140.dll is not
distributed with Python 3.5.

Possible solutions:

  1. ship msvcp140.dll in the matplotlib package directory. Python and
    other packages might still fail to load, but that's not matplotlib's
    problem. This is the preferred way to ship dependencies according to
    Microsoft. I personally dislike shipping system DLLs next to extensions.
    See also http://stevedower.id.au/blog/building-for-python-3-5-part-two/

  2. require users to install the "Visual C++ Redistributable for Visual
    Studio 2015"
    http://www.microsoft.com/en-us/download/details.aspx?id=48145. This
    requires administrator privileges. In the long run this will be much
    less trouble for users.

@pelson
Copy link
Member

pelson commented Sep 18, 2015

Surely this depends on how matplotlib is packaged, and is not necessarily a fundamental matplotlib-ism? Given you are one of the main matplotlib packagers on Windows @cgohlke, obviously your view on this is important, but I would not be surprised if there were differing approaches for different distribution mechanisms (for example of how bad it gets, I believe Continuum were pumping the ActiveState TCL DLLs into their built matplotlib Windows distribution).

Perhaps we can be a little less absolute on the phraseology?

@cgohlke
Copy link
Contributor Author

cgohlke commented Sep 18, 2015

These instructions are specific for the installation (by end users) of the pre-built matplotlib Windows binaries from http://matplotlib.org/downloads.html on standard Python 3.5 distributions from http://www.python.org/download/. Currently those binaries require msvcp140.dll to be found on the target system. I am not sure we want to recommend or mention ways to install msvcp140.dll other than the official "Visual C++ Redistributable for Visual Studio 2015".

As I wrote, the other option is to ship msvcp140.dll with the matplotlib binaries.

pelson added a commit that referenced this pull request Sep 19, 2015
The Visual C++ Redistributable for Visual Studio 2015 is required for Python 3.5
@pelson pelson merged commit d70ce32 into matplotlib:master Sep 19, 2015
@cgohlke cgohlke mentioned this pull request Oct 29, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants