Source: lmfit-py Version: 0.9.14-1 Severity: important User: ubuntu-de...@lists.ubuntu.com Usertags: origin-ubuntu focal
Dear maintainers, The lmfit-py package fails to build from source in Ubuntu focal, because Ubuntu has begun the transition to python3.8 and lmfit-py 0.9.14 is not source-compatible with python3.8: [...] ==================================== ERRORS ==================================== _________________ ERROR at setup of test_algebraic_constraints _________________ @pytest.fixture def minimizer(): """Return the Minimizer object.""" def residual(pars, x, sigma=None, data=None): """Define objective function.""" yg = gaussian(x, pars['amp_g'], pars['cen_g'], pars['wid_g']) yl = lorentzian(x, pars['amp_l'], pars['cen_l'], pars['wid_l']) model = yg + yl + pars['line_off'] + x * pars['line_slope'] if data is None: return model if sigma is None: return model - data return (model-data) / sigma # generate synthetic data n = 601 xmin = 0. xmax = 20.0 x = np.linspace(xmin, xmax, n) data = (gaussian(x, 21, 8.1, 1.2) + lorentzian(x, 10, 9.6, 2.4) + np.random.normal(scale=0.23, size=n) + x*0.5) # create initial Parameters pars = Parameters() pars.add(name='amp_g', value=10) pars.add(name='cen_g', value=9) pars.add(name='wid_g', value=1) pars.add(name='amp_tot', value=20) pars.add(name='amp_l', expr='amp_tot - amp_g') > pars.add(name='cen_l', expr='1.5+cen_g') tests/test_algebraic_constraint.py:41: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ lmfit/parameter.py:361: in add self.__setitem__(name, Parameter(value=value, name=name, vary=vary, lmfit/parameter.py:132: in __setitem__ self._asteval.symtable[key] = par.value lmfit/parameter.py:823: in value return self._getval() lmfit/parameter.py:805: in _getval check_ast_errors(self._expr_eval) lmfit/parameter.py:25: in check_ast_errors expr_eval.raise_exception(None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <asteval.asteval.Interpreter object at 0x7fe24279e190>, node = None exc = <class 'NotImplementedError'>, msg = '' expr = <_ast.Module object at 0x7fe2428fa4f0>, lineno = None def raise_exception(self, node, exc=None, msg='', expr=None, lineno=None): """Add an exception.""" if self.error is None: self.error = [] if expr is None: expr = self.expr if len(self.error) > 0 and not isinstance(node, ast.Module): msg = '%s' % msg err = ExceptionHolder(node, exc=exc, msg=msg, expr=expr, lineno=lineno) self._interrupt = ast.Break() self.error.append(err) if self.error_msg is None: self.error_msg = "%s in expr='%s'" % (msg, self.expr) elif len(msg) > 0: self.error_msg = "%s\n %s" % (self.error_msg, msg) if exc is None: try: exc = self.error[0].exc except: exc = RuntimeError > raise exc(self.error_msg) E NotImplementedError: 'Constant' not supported in expr='<_ast.Module object at 0x7fe2428fa4f0>' /usr/lib/python3/dist-packages/asteval/asteval.py:248: NotImplementedError ---------------------------- Captured stderr setup ----------------------------- NotImplementedError <_ast.Module object at 0x7fe2428fa4f0> 'Constant' not supported [...] (https://launchpad.net/ubuntu/+source/lmfit-py/0.9.14-1/+build/17990659) Debian has not yet started the transition to python3.8 - the version of python3-defaults that adds python3.8 as supported is currently in experimental - but this will eventually become a serious bug in Debian as well once that transition begins. For the moment I have worked around the failure in Ubuntu by changing the packaging to test only against the current version of python3 and not against all supported versions, but this is a very short-term fix given that python3.8 will become the default in the next 6 months. -- Steve Langasek Give me a lever long enough and a Free OS Debian Developer to set it on, and I can move the world. Ubuntu Developer https://www.debian.org/ slanga...@ubuntu.com vor...@debian.org
signature.asc
Description: PGP signature