Steve Dower added the comment:

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... :)

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue24872>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to