<div dir="ltr"><div>
Johan,</div><div><br></div><div>Have you read the porting notes for 3.8? There's a change to how libraries on Windows are loaded. You will likely need to use the new `os.add_dll_directory()` function.<br></div><div><br></div><div><a href="https://docs.python.org/3/whatsnew/3.8.html#bpo-36085-whatsnew">https://docs.python.org/3/whatsnew/3.8.html#bpo-36085-whatsnew</a></div><div><br></div><div>Regards,</div><div>James<br></div><div><br></div><div><br>
</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, 13 Jan 2020 at 10:09, Johann Rohwer <<a href="mailto:jr@sun.ac.za">jr@sun.ac.za</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
Hi all<br>
<br>
First of all, my apologies if this is not the right place for this
query, if so, please direct me to a more appropriate forum.<br>
<br>
We have developed a Python package for computational systems biology
that wraps two Fortran extension modules:<br>
<a href="https://github.com/PySCeS/pysces" target="_blank">https://github.com/PySCeS/pysces</a><br>
<br>
For the distribution of binary wheels under Windows I've been
compiling the Fortran extension modules with MinGWin and using
MSVC++ compiler to compile the Python extension, as implimented in
numpy distutils and explained in detail in this blog post:<br>
<a href="https://pav.iki.fi/blog/2017-10-08/pywingfortran.html" target="_blank">https://pav.iki.fi/blog/2017-10-08/pywingfortran.html</a><br>
<br>
This has been working fine for previous versions of Python (3.6 and
3.7), but under Python 3.8 the DLL won't load, I get the following
error message when trying to import the package:<br>
<blockquote>DLL load failed while importing pitcon: The specified
module could not be found.<br>
INFO: Pitcon import failed: continuation not available<br>
DLL load failed while importing nleq2: The specified module could
not be found.<br>
INFO: NLEQ2 import failed: option not available<br>
</blockquote>
This is using Python 3.8.1 downloaded from <a href="http://python.org" target="_blank">python.org</a> under Windows
10 64-bit, also using 64-bit MinGWin. <br>
<br>
When building the package under Python 3.8, the compile runs without
error and the DLL files get packaged in the .libs folder beneath the
top-level package folder, as for the other Python versions. Only
problem is that they can't be loaded during import.<br>
<br>
Dependencies for the build (numpy, scipy, matplotlib) are installed
using pip into a clean install of the respective Python version:<br>
matplotlib       3.1.2<br>
numpy            1.18.1<br>
scipy            1.4.1<br>
<br>
Has anything changed in how this is handled under Python 3.8? I'm
stymied because it all works off exactly the same code base under
Python 3.6 and 3.7, and moreover the compile and wheel build
completes without error, also on Python 3.8. <br>
<br>
Thanks,<br>
Johann<br>
<blockquote><br>
</blockquote>
<br><u></u>
<div>
The integrity and confidentiality of this e-mail is governed by these terms / Die integriteit en vertroulikheid van hierdie e-pos word deur die volgende bepalings gereël. <a href="http://www.sun.ac.za/emaildisclaimer" target="_blank">http://www.sun.ac.za/emaildisclaimer</a>
</div>
<br></div>
_______________________________________________<br>
SciPy-User mailing list<br>
<a href="mailto:SciPy-User@python.org" target="_blank">SciPy-User@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/scipy-user" rel="noreferrer" target="_blank">https://mail.python.org/mailman/listinfo/scipy-user</a><br>
</blockquote></div>