From 1728ab08740df20aa2580f314bf1290aa497624c Mon Sep 17 00:00:00 2001 From: Matt Wala Date: Wed, 6 Sep 2017 17:08:39 -0500 Subject: [PATCH] Fix SymEngine channel and change SUMPY_FORCE_SYMBOLIC_BACKEND to error out if it doesn't find the appropriate backend. --- .test-conda-env-py3.yml | 3 ++- sumpy/symbolic.py | 9 ++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.test-conda-env-py3.yml b/.test-conda-env-py3.yml index a53d2c22..d5e01ead 100644 --- a/.test-conda-env-py3.yml +++ b/.test-conda-env-py3.yml @@ -12,5 +12,6 @@ dependencies: - islpy - pyopencl - python=3.5 -- python-symengine=0.3.0 +- symengine::symengine=0.3.0 +- symengine::python-symengine=0.3.0 # things not in here: loopy boxtree pymbolic pyfmmlib diff --git a/sumpy/symbolic.py b/sumpy/symbolic.py index 665aff9d..49fa4059 100644 --- a/sumpy/symbolic.py +++ b/sumpy/symbolic.py @@ -42,8 +42,9 @@ def _find_symbolic_backend(): try: import symengine # noqa symengine_found = True - except ImportError: + except ImportError as import_error: symengine_found = False + symengine_error = import_error ALLOWED_BACKENDS = ("sympy", "symengine") # noqa BACKEND_ENV_VAR = "SUMPY_FORCE_SYMBOLIC_BACKEND" # noqa @@ -60,11 +61,9 @@ def _find_symbolic_backend(): ", ".join("'%s'" % val for val in ALLOWED_BACKENDS))) if backend == "symengine" and not symengine_found: - from warnings import warn - warn("%s=symengine was specified, but could not find symengine. " - "Using sympy." % BACKEND_ENV_VAR, RuntimeWarning) + raise RuntimeError("could not find SymEngine: %s" % symengine_error) - USE_SYMENGINE = backend == "symengine" and symengine_found + USE_SYMENGINE = True else: USE_SYMENGINE = symengine_found -- GitLab