Skip to content
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

Release 2.0.6 depends on numpy 1.16 #25

Closed
dihm opened this issue Jan 30, 2019 · 1 comment
Closed

Release 2.0.6 depends on numpy 1.16 #25

dihm opened this issue Jan 30, 2019 · 1 comment
Assignees

Comments

@dihm
Copy link
Contributor

dihm commented Jan 30, 2019

The wheel for the arc_c_extensions appears to have been compiled with numpy 1.16.x which involved a significant number of numpy API reorganizations over 1.15.x. When trying to run ARC with a lower version of numpy, code in the c_extension tries to load modules that have been renamed.

The explicit error I get running arc 2.0.6, python 3.6.8, and numpy 1.15.4 is

import arc
atom = arc.Rubidium85()
  File "C:\Users\David\Miniconda3\envs\ARC\lib\site-packages\arc\alkali_atom_functions.py", line 175, in __init__
    from .arc_c_extensions import NumerovWavefunction
ImportError: numpy.core.multiarray failed to import

The explicit module it fails on is numpy.core._multiarray_umath. I was put on the right track by a comment deep down the thread of this numpy issue.

Downgrading ARC to 2.0.5 works as expected. Presumably running numpy up to 1.16 would also work, but it isn't mainline in conda yet so I've held off.

nikolasibalic added a commit that referenced this issue Jan 30, 2019
Numpy since 1.16.0 introduced changes in API that cause problems when wheels compiled under Numpy 1.16.0 are run under older Numpy versions (see #25). Plus there are other bugs reported with pickling with Numpy 1.16.0 due to same issue. We'll limit building of wheels to older Numpy versions for the time being, until Numpy developers don't resolve this in back-compatible way.
@nikolasibalic nikolasibalic self-assigned this Jan 30, 2019
nikolasibalic added a commit that referenced this issue Jan 30, 2019
now uses requirements file; to make sure versions wheels are compiled against correct versions (see #25); added py37 for osx wheels
@nikolasibalic
Copy link
Owner

Hi @dihm ,

Thank you for the issue submission, and for finding root cause of the problem.

Indeed, built log shows that for Windows wheels were built with Numpy 1.16 whose lack of back-compatibility due to newly introduced modules causes issues. Until that is resolved on Numpy side, I restricted builds to old Numpy versions. The new version 2.0.7, available now on PyPI repository, should work.

Let me know if you experience more problems!

nikolasibalic added a commit that referenced this issue Sep 20, 2019
lmfit is now needed for advanced module extensions. I had to increase also numpy. Hopefully by now this won't trigger issue #25 as numpy version has been updated everywhere by now.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants