This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author steve.dower
Recipients cgohlke, larry, lemburg, paul.moore, steve.dower, tim.golden, zach.ware
Date 2015-09-03.02:54:51
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <>
The FLS limit is definitely still there, and it still seems to be 127, which would explain the issues.

Best fix I have for this is to build with /MD and force vcruntimeXXX.dll to always be copied alongside builds. That will solve the installation issue and the DLL limit, at the cost of complicating licensing and bundling for packages. (The DLL *should* only be loaded once, even if it appears in multiple locations.)

I don't think this is necessarily a release blocker though. It may just be better for specific packages to do it - e.g. numpy could include whichever vcruntime DLL was used to at least satisfy all of its PYDs on any Python version. If someone happens to have matched builds of numpy/scipy/pandas (which seems fairly likely) and they're all /MD and bundle vcruntime then that's one FLS index for a decent number of DLLs.

A "better" solution might involve a pip extension that can detect which VC redist version is required when extracting a wheel and download/install it for the user (I considered proposing this closer to Python's core, but it really needs to be at download/install time and not load time).

Package distros and "packs" are likely to be in a position to distribute the dependencies they need and can avoid it. Unfortunately, I don't see a way to do that from core without effectively restricting the VC version for most people. Hopefully one day I'll get to deal with some easy problems... :)
Date User Action Args
2015-09-03 02:54:52steve.dowersetrecipients: + steve.dower, lemburg, paul.moore, larry, tim.golden, cgohlke, zach.ware
2015-09-03 02:54:52steve.dowersetmessageid: <>
2015-09-03 02:54:52steve.dowerlinkissue24872 messages
2015-09-03 02:54:51steve.dowercreate