diff -up src/sage/arith/multi_modular.pyx.orig src/sage/arith/multi_modular.pyx --- src/sage/arith/multi_modular.pyx.orig 2018-08-03 05:10:08.000000000 -0600 +++ src/sage/arith/multi_modular.pyx 2018-08-29 10:44:04.624424587 -0600 @@ -173,9 +173,9 @@ cdef class MultiModularBasis_base(object ArithmeticError: The inverse of 6 modulo 10 is not defined. """ if l_bound < 2: - raise ValueError(f"minimum value for lower bound is 2, given: {l_bound}") + raise ValueError("minimum value for lower bound is 2, given: {l_bound}".format(l_bound=l_bound)) if u_bound > MAX_MODULUS: - raise ValueError(f"upper bound cannot be greater than {MAX_MODULUS}, given: {u_bound}") + raise ValueError("upper bound cannot be greater than {MAX_MODULUS}, given: {u_bound}".format(MAX_MODULUS=MAX_MODULUS, u_bound=u_bound)) self._l_bound = l_bound self._u_bound = u_bound @@ -234,7 +234,7 @@ cdef class MultiModularBasis_base(object if check: for p in plist: if p > MAX_MODULUS: - raise OverflowError(f"given modulus {p} is larger than {MAX_MODULUS}") + raise OverflowError("given modulus {p} is larger than {MAX_MODULUS}".format(p=p, MAX_MODULUS=MAX_MODULUS)) self._realloc_to_new_count(self.n + len_plist) cdef Py_ssize_t i diff -up src/sage/rings/finite_rings/integer_mod.pyx.orig src/sage/rings/finite_rings/integer_mod.pyx --- src/sage/rings/finite_rings/integer_mod.pyx.orig 2018-08-03 05:10:09.000000000 -0600 +++ src/sage/rings/finite_rings/integer_mod.pyx 2018-08-29 10:44:04.624424587 -0600 @@ -468,7 +468,7 @@ cdef class IntegerMod_abstract(FiniteRin from .integer_mod_ring import IntegerModRing R = IntegerModRing(modulus) if (self)._parent._IntegerModRing_generic__order % R.order(): - raise ArithmeticError(f"reduction modulo {modulus!r} not defined") + raise ArithmeticError("reduction modulo {modulus} not defined".format(modulus=repr(modulus))) return R(self) def is_nilpotent(self): diff -up src/sage/structure/parent.pyx.orig src/sage/structure/parent.pyx --- src/sage/structure/parent.pyx.orig 2018-08-03 05:10:09.000000000 -0600 +++ src/sage/structure/parent.pyx 2018-08-29 10:44:04.625424574 -0600 @@ -726,7 +726,7 @@ cdef class Parent(sage.structure.categor cdef int init_coerce(self, bint warn=True) except -1: if self._coerce_from_hash is None: if warn: - raise AssertionError(f"unexpected call of init_coerce() for {type(self)}") + raise AssertionError("unexpected call of init_coerce() for {typ}".format(typ=type(self))) self._initial_coerce_list = [] self._initial_action_list = [] self._initial_convert_list = [] diff -up src/sage/symbolic/ring.pyx.orig src/sage/symbolic/ring.pyx --- src/sage/symbolic/ring.pyx.orig 2018-08-03 05:10:09.000000000 -0600 +++ src/sage/symbolic/ring.pyx 2018-08-29 10:44:04.625424574 -0600 @@ -378,7 +378,7 @@ cdef class SymbolicRing(CommutativeRing) from sage.misc.all import prod return prod([SR(p)**e for p,e in x], SR(x.unit())) else: - raise TypeError(f"unable to convert {x!r} to a symbolic expression") + raise TypeError("unable to convert {x} to a symbolic expression".format(x=repr(x))) return new_Expression_from_GEx(self, exp)