It is a setup problem. You need to uninstall the pip packages that were installed with the mathics package (and the mathics package itself) and install Mathics3 instead.
- Marc On Sunday, March 15, 2026 at 6:54:19 AM UTC-5 [email protected] wrote: > of course but to be honest still don't understand the problem i am facing > i can't really determine if it's my setup problem or this an > existing issue in the source code itself > > On Sun, Mar 15, 2026 at 2:34 AM Travis Scrimshaw <[email protected]> > wrote: > >> It seems to me you would certainly want the interface to work in a manner >> that is consistent with the other interfaces. >> >> Best, >> Travis >> >> >> On Sunday, March 15, 2026 at 1:07:37 AM UTC+9 [email protected] >> wrote: >> >>> >>> so i have install the package >>> `pip install mathics3` and i get this huge error log >>> would this be the objective of the project 'Improve integration with >>> Mathics' >>> or this an isolated error for machine because i can't really i identify >>> the error >>> i thought it was a mismatch in npmath package but that didn't solve it >>> and there are a problem when calling the .sage() function to convert the >>> object to a sageobj >>> (sage-dev) >>> sage [develop] pip list | grep -i mathics >>> Mathics_Scanner 2.0.0 >>> Mathics3 9.0.0 >>> (sage-dev) >>> sage [develop] python --version >>> Python 3.12.12 >>> (sage-dev) >>> sage [develop] which python >>> /home/rashad/.conda/envs/sage-dev/bin/python >>> (sage-dev) >>> sage [develop] >>> (sage-dev) >>> sage [develop] ./sage >>> ┌────────────────────────────────────────────────────────────────────┐ >>> │ SageMath version 10.9.beta7, Release Date: 2026-02-25 │ >>> │ Using Python 3.12.12. Type "help()" for help. │ >>> └────────────────────────────────────────────────────────────────────┘ >>> ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ >>> ┃ Warning: this is a prerelease version, and it may be unstable. ┃ >>> ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ >>> sage: from sage.interfaces.mathics import mathics >>> sage: mobj = mathics(x^2 - 1); mobj >>> >>> --------------------------------------------------------------------------- >>> AttributeError Traceback (most recent call >>> last) >>> File ~/sage/sage/src/sage/interfaces/interface.py:329, in >>> Interface._coerce_from_special_method(self, x) >>> 328 try: >>> --> 329 return (x.__getattribute__(s))(self) >>> 330 except AttributeError: >>> >>> File sage/structure/sage_object.pyx:979, in >>> sage.structure.sage_object.SageObject._mathics_() >>> >>> File sage/symbolic/expression.pyx:1123, in >>> sage.symbolic.expression.Expression._interface_() >>> >>> File sage/structure/sage_object.pyx:723, in >>> sage.structure.sage_object.SageObject._interface_() >>> >>> File ~/sage/sage/src/sage/interfaces/interface.py:294, in >>> Interface.__call__(self, x, name) >>> 293 if isinstance(x, str): >>> --> 294 return cls(self, x, name=name) >>> 295 try: >>> 296 # Special methods do not and should not have an option to >>> 297 # set the name directly, as the identifier assigned by the >>> 298 # interface should stay consistent. An identifier with a >>> 299 # user-assigned name might change its value, so we return a >>> 300 # new element. >>> >>> File ~/sage/sage/src/sage/interfaces/interface.py:732, in >>> InterfaceElement.__init__(self, parent, value, is_name, name) >>> 731 try: >>> --> 732 self._name = parent._create(value, name=name) >>> 733 except (TypeError, RuntimeError, ValueError) as x: >>> >>> File ~/sage/sage/src/sage/interfaces/interface.py:515, in >>> Interface._create(self, value, name) >>> 514 name = self._next_var_name() if name is None else name >>> --> 515 self.set(name, value) >>> 516 return name >>> >>> File ~/sage/sage/src/sage/interfaces/mathics.py:596, in >>> Mathics.set(self, var, value) >>> 595 cmd = f'{var}={value};' >>> --> 596 _ = self.eval(cmd) >>> >>> File ~/sage/sage/src/sage/interfaces/mathics.py:579, in >>> Mathics.eval(self, code, *args, **kwds) >>> 570 """ >>> 571 Evaluates a command inside the Mathics interpreter and returns >>> the output >>> 572 in printable form. >>> (...) 577 '2' >>> 578 """ >>> --> 579 res = self._eval(code) >>> 580 if res.result == 'Null': >>> >>> File ~/sage/sage/src/sage/interfaces/mathics.py:562, in >>> Mathics._eval(self, code) >>> 553 """ >>> 554 Evaluates a command inside the Mathics interpreter and returns >>> the output >>> 555 as a Mathics result. >>> (...) 560 <Integer: 2> >>> 561 """ >>> --> 562 self._lazy_init() >>> 563 S = self._session >>> >>> File ~/sage/sage/src/sage/interfaces/mathics.py:499, in >>> Mathics._lazy_init(self) >>> 498 self._initialized = True >>> --> 499 self._start() >>> >>> File ~/sage/sage/src/sage/interfaces/mathics.py:514, in >>> Mathics._start(self) >>> 513 if not self._session: >>> --> 514 from mathics.session import MathicsSession >>> 515 from mathics.core.load_builtin import >>> import_and_load_builtins >>> >>> File >>> ~/.conda/envs/sage-dev/lib/python3.12/site-packages/mathics/session.py:19 >>> 17 from mathics_scanner.location import ContainerKind >>> ---> 19 from mathics.core.definitions import Definitions >>> 20 from mathics.core.evaluation import Evaluation, Result >>> >>> File >>> ~/.conda/envs/sage-dev/lib/python3.12/site-packages/mathics/core/definitions.py:17 >>> 15 from mathics_scanner.tokeniser import full_names_pattern >>> ---> 17 from mathics.core.atoms import Integer, String >>> 18 from mathics.core.attributes import A_NO_ATTRIBUTES >>> >>> File >>> ~/.conda/envs/sage-dev/lib/python3.12/site-packages/mathics/core/atoms.py:50 >>> 47 T = TypeVar("T") >>> ---> 50 class Number(Atom, ImmutableValueMixin, NumericOperators, >>> Generic[T]): >>> 51 """ >>> 52 Different kinds of Mathics Numbers, the main built-in >>> subclasses >>> 53 being: Integer, Rational, Real, Complex. >>> 54 """ >>> >>> File >>> ~/.conda/envs/sage-dev/lib/python3.12/site-packages/mathics/core/atoms.py:119, >>> >>> in Number() >>> 117 return True >>> --> 119 def to_mpmath(self, precision: Optional[int] = None) -> >>> mpmath.ctx_mp_python.mpf: >>> 120 """ >>> 121 Convert self.value to an mpmath number with precision >>> ``precision`` >>> 122 If ``precision`` is None, use mpmath's default precision. >>> (...) 127 change the implementation accordingly. >>> 128 """ >>> >>> AttributeError: module 'mpmath.ctx_mp_python' has no attribute 'mpf' >>> >>> During handling of the above exception, another exception occurred: >>> >>> TypeError Traceback (most recent call >>> last) >>> Cell In[2], line 1 >>> ----> 1 mobj = mathics(x**Integer(2) - Integer(1)); mobj >>> >>> File ~/sage/sage/src/sage/interfaces/interface.py:301, in >>> Interface.__call__(self, x, name) >>> 294 return cls(self, x, name=name) >>> 295 try: >>> 296 # Special methods do not and should not have an option to >>> 297 # set the name directly, as the identifier assigned by the >>> 298 # interface should stay consistent. An identifier with a >>> 299 # user-assigned name might change its value, so we return a >>> 300 # new element. >>> --> 301 result = self._coerce_from_special_method(x) >>> 302 return result if name is None else result.name >>> (new_name=name) >>> 303 except TypeError: >>> >>> File ~/sage/sage/src/sage/interfaces/interface.py:331, in >>> Interface._coerce_from_special_method(self, x) >>> 329 return (x.__getattribute__(s))(self) >>> 330 except AttributeError: >>> --> 331 return self(x._interface_init_()) >>> >>> File sage/symbolic/expression.pyx:1151, in >>> sage.symbolic.expression.Expression._interface_init_() >>> >>> TypeError: _interface_init_() takes exactly 1 positional argument (0 >>> given) >>> sage: >>> >>> -- >> You received this message because you are subscribed to the Google Groups >> "sage-devel" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To view this discussion visit >> https://groups.google.com/d/msgid/sage-devel/4ea9449d-9ead-4f51-81d6-e51a0624fa29n%40googlegroups.com >> >> <https://groups.google.com/d/msgid/sage-devel/4ea9449d-9ead-4f51-81d6-e51a0624fa29n%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> > -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion visit https://groups.google.com/d/msgid/sage-devel/7d6c4c48-85ca-4d06-9491-35b748d9e455n%40googlegroups.com.
