| 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 | |