blacklist numexpr 2.4.4 · Issue #12489 · pandas-dev/pandas (original) (raw)
Under some circumstances, numexpr 2.4.4 can lead to flaky output (see #12023 and links therein). This happened again once on SO in the last few days, and it's a suspect in another case.
[UPDATE: the suspect was convicted of the second crime as well!]
We should just refuse to work with 2.4.4, rather than leave the impression pandas is unstable, and require a later version as soon as we can. There are apparently still enough people out there with up-to-date pandas and out-of-date numexpr that a warning could probably help someone. Accordingly, after some discussion on gitter, it sounds like we should
(1) add a warning to the docs
(2) centralize the version check (right now both computation/eval and computation/expressions check the numexpr version)
(3) only allow numexpr if >= 2.1 and not == 2.4.4; otherwise, set _USE_NUMEXPR to False
(4) in the warning we raise, recommend upgrading from 2.4.4 because we can't easily prevent other dependencies from using it
(5) add a test to make sure that the presence of 2.4.4 disables _USE_NUMEXPR (say, by adding it to the requirements-3.4_SLOW).