import pytest | |
from pandas.compat._optional import VERSIONS | |
import pandas as pd | |
from pandas.core.computation import expr | |
from pandas.core.computation.engines import ENGINES | |
from pandas.util.version import Version | |
def test_compat(): | |
# test we have compat with our version of numexpr | |
from pandas.core.computation.check import NUMEXPR_INSTALLED | |
ne = pytest.importorskip("numexpr") | |
ver = ne.__version__ | |
if Version(ver) < Version(VERSIONS["numexpr"]): | |
assert not NUMEXPR_INSTALLED | |
else: | |
assert NUMEXPR_INSTALLED | |
def test_invalid_numexpr_version(engine, parser): | |
if engine == "numexpr": | |
pytest.importorskip("numexpr") | |
a, b = 1, 2 # noqa: F841 | |
res = pd.eval("a + b", engine=engine, parser=parser) | |
assert res == 3 | |