Bug#921120: sagemath breaks sagetex autopkgtest: ImportError: No module named _tkinter, please install the python-tk package

Tobias Hansen thansen at debian.org
Fri Feb 1 19:27:27 GMT 2019


Hi,

the problem is that python-matplotlib needs python-tk (it's the default backend), but only recommends it rather than depending on it. autopkgtests apparently don't install recommends. I already filed this as #921108 but the matplotlib2 maintainer does not want to change it.

sagemath 8.6-3 had a dependency on python-tk but it really has nothing to do with python-tk.

Best,
Tobias

On 2/1/19 7:48 PM, Paul Gevers wrote:
> Source: sagemath, sagetex
> Control: found -1 sagemath/8.6-4
> Control: found -1 sagetex/3.2+ds-1
> Control: affects -1 src:texlive-base
> Severity: important
> User: debian-ci at lists.debian.org
> Usertags: breaks needs-update
>
> [X-Debbugs-CC: debian-ci at lists.debian.org, texlive-base at packages.debian.org]
>
> Dear maintainers,
>
> With a recent upload of sagemath the autopkgtest of sagetex fails in
> testing when that autopkgtest is run with the binary packages of
> sagemath from unstable. It passes when run with only packages from
> testing. In tabular form:
>                        pass            fail
> sagemath               from testing    8.6-4
> sagetex                from testing    3.2+ds-1
> versioned deps [0]     from testing    from unstable
> all others             from testing    from testing
>
> I copied some of the output at the bottom of this report. It seems to me
> that sagemath should not have dropped the dependency on python-tk.
> However, it is possible that the issue is in six, or that sagetext now
> should add it to the (test) dependencies.
>
> Currently this regression is blocking the migration of sagemath (and
> texlive-base) to testing [1]. Due to the nature of this issue, I filed
> this bug report against both packages. Can you please investigate the
> situation and reassign the bug to the right package? If needed, please
> change the bug's severity. FYI, also in unstable, the test fails.
>
> More information about this bug and the reason for filing it can be found on
> https://wiki.debian.org/ContinuousIntegration/RegressionEmailInformation
>
> Paul
>
> [0] You can see what packages were added from the second line of the log
> file quoted below. The migration software adds source package from
> unstable to the list if they are needed to install packages from
> sagemath/8.6-4. I.e. due to versioned dependencies or breaks/conflicts.
> [1] https://qa.debian.org/excuses.php?package=sagemath
>
> https://ci.debian.net/data/autopkgtest/testing/amd64/s/sagetex/1821254/log.gz
> autopkgtest [04:29:31]: test compose-examples: [-----------------------
> rm -f *.aux *.out *.log
> rm -f *.sagetex.s* *.sobj *-tikz*.table
> rm -f -r sage-plots-for-*.tex
> rm -f example_doctest.sage
> rm -f example.pdf
> pdflatex -interaction batchmode example.tex
> This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live
> 2019/dev/Debian) (preloaded format=pdflatex)
>  restricted \write18 enabled.
> entering extended mode
> sage example.sagetex.sage
> Setting permissions of DOT_SAGE directory so only you can read and write it.
> Processing Sage code for example.tex...
> Inline formula 0 (line 35)
> Inline formula 1 (line 36)
> Inline formula 2 (line 38)
> Inline formula 3 (line 39)
> Code block (line 42) begin...end
> Inline formula 4 (line 49)
> Inline formula 5 (line 51)
> Inline formula 6 (line 54)
> Code block (line 58) begin...end
> Inline formula 7 (line 63)
> Inline formula 8 (line 64)
> Code block (line 68) begin...end
> Inline formula 9 (line 77)
> Inline formula 10 (line 78)
> Code block (line 81) begin...end
> Inline formula 11 (line 85)
> Code block (line 87) begin...Traceback (most recent call last):
>   File "example.sagetex.sage.py", line 121, in <module>
>     _st_.plot(_sage_const_0 , format='notprovided',
> _p_=E.plot(-_sage_const_3 ,_sage_const_3 ))
>   File "/usr/lib/python2.7/dist-packages/sagetex.py", line 239, in plot
>     _p_.save(filename=plotfilename, **kwargs)
>   File "/usr/lib/python2.7/dist-packages/sage/misc/decorators.py", line
> 411, in wrapper
>     return func(*args, **kwds)
>   File "/usr/lib/python2.7/dist-packages/sage/plot/graphics.py", line
> 3167, in save
>     figure = self.matplotlib(**options)
>   File "/usr/lib/python2.7/dist-packages/sage/plot/graphics.py", line
> 2543, in matplotlib
>     import matplotlib.pyplot as plt
>   File "/usr/lib/python2.7/dist-packages/matplotlib/pyplot.py", line
> 115, in <module>
>     _backend_mod, new_figure_manager, draw_if_interactive, _show =
> pylab_setup()
>   File
> "/usr/lib/python2.7/dist-packages/matplotlib/backends/__init__.py", line
> 62, in pylab_setup
>     [backend_name], 0)
>   File
> "/usr/lib/python2.7/dist-packages/matplotlib/backends/backend_tkagg.py",
> line 4, in <module>
>     from . import tkagg  # Paint image to Tk photo blitter extension.
>   File "/usr/lib/python2.7/dist-packages/matplotlib/backends/tkagg.py",
> line 5, in <module>
>     from six.moves import tkinter as Tk
>   File "/usr/lib/python2.7/dist-packages/six.py", line 203, in load_module
>     mod = mod._resolve()
>   File "/usr/lib/python2.7/dist-packages/six.py", line 115, in _resolve
>     return _import_module(self.mod)
>   File "/usr/lib/python2.7/dist-packages/six.py", line 82, in _import_module
>     __import__(name)
>   File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 42, in <module>
>     raise ImportError, str(msg) + ', please install the python-tk package'
> ImportError: No module named _tkinter, please install the python-tk package
> end
> Inline formula 12 (line 91)
> Initializing plots directory
> Plot 0 (line 97)
>
> **** Error in Sage code on line 97 of example.tex! Traceback follows.
>
> **** Running Sage on example.sage failed! Fix example.tex and try again.
> make: *** [Makefile:52: example.pdf] Error 1
> autopkgtest [04:29:35]: test compose-examples: -----------------------]
>



More information about the debian-science-maintainers mailing list