<p dir="ltr">On Jul 11, 2015 12:22 PM, "Olivier Grisel" <<a href="mailto:olivier.grisel@ensta.org">olivier.grisel@ensta.org</a>> wrote:<br>
><br>
> 2015-07-10 22:13 GMT+02:00 Carl Kleffner <<a href="mailto:cmkleffner@gmail.com">cmkleffner@gmail.com</a>>:<br>
><br>
> > The best technical solution IMHO would be to make an extra mingwpy.openblas<br>
> > python package to load libopenblaspy.dll into the process space, as this<br>
> > package could be upgraded independant from numpy/scipy. On the other side<br>
> > this would mean an additionally package dependancy for numpy at least on the<br>
> > windows platform.<br>
><br>
> Having a windows only dependency on such a wheel sounds fine with me.<br>
> However that would mean to ensure that the dll is properly loaded in<br>
> the windows dll search path prior to importing extensions such as<br>
> numpy.core._dotblas right? Could this be done via adding something to<br>
> `numpy.__init__.py` such as:<br>
><br>
> ```<br>
> if sys.platform == 'win32':<br>
>     try:<br>
>         # Ensure that libopenblaspy.dll can be found prior to<br>
>         # loading numpy.core._dotblas<br>
>         from mingwpy import openblas<br>
>     except:<br>
>         warnings.warn('Failed to load mingwpy's openblas')<br>
><br>
> # import numpy.core stuff here<br>
> ```</p>
<p dir="ltr">We might even just want to add to numpy/__init__.py something like</p>
<p dir="ltr">try:<br>
    import .distributor_hook<br>
except ImportError:<br>
    pass</p>
<p dir="ltr">so wheels (and conda builds, etc.) could be patched by adding a single file without modifying any upstream files.</p>
<p dir="ltr">-n</p>