On 2016/11/01 15:59, Daniel Jakots wrote:
> On Tue, 1 Nov 2016 10:31:47 +0000, Stuart Henderson
> <[email protected]> wrote:
>
> > On 2016/11/01 11:24, Daniel Jakots wrote:
> > > Updated diff: aja noticed that without py-ecdsa installed it says:
> > > INFO: Can't import python ecdsa lib. Disabled certificate
> > > manipulation tools. So add a RDEP on it. I remove py-gnuplot as it
> > > seems it's not imported. I opened an issue to ask them to clarify
> > > scapy's requirements.
> >
> > They switched to matplotlib.
> >
> > https://github.com/secdev/scapy/commit/9cb4a70de3c57dd3779a0aa87ea25914ac6ef98d
> >
>
> Thanks, I saw that they use matplotlib but I didn't know that they
> switched to it. I tried to add graphics/py-matplotlib as RDEP but it
> was taken into account (so I removed it before sending the diff). The
> problem is "ImportError: No module named _backend_gdk". I looked at
> py-matplotlib but I didn't find anything suspicious.
>
> Daniel, do you have any idea?
>
> Here's a diff for debug purpose:
>
> $ scapy
>
> Traceback (most recent call last):
> File "/usr/local/bin/scapy", line 25, in <module>
> interact()
> File "/usr/local/lib/python2.7/site-packages/scapy/main.py", line 300, in
> interact
> scapy_builtins = __import__("all",globals(),locals(),".").__dict__
> File "/usr/local/lib/python2.7/site-packages/scapy/all.py", line 16, in
> <module>
> from scapy.arch import *
> File "/usr/local/lib/python2.7/site-packages/scapy/arch/__init__.py", line
> 19, in <module>
> import matplotlib.pyplot as plt
> File "/usr/local/lib/python2.7/site-packages/matplotlib/pyplot.py", line
> 109, in <module>
> _backend_mod, new_figure_manager, draw_if_interactive, _show =
> pylab_setup()
> File
> "/usr/local/lib/python2.7/site-packages/matplotlib/backends/__init__.py",
> line 32, in pylab_setup
> globals(),locals(),[backend_name],0)
> File
> "/usr/local/lib/python2.7/site-packages/matplotlib/backends/backend_gtkagg.py",
> line 14, in <module>
> from matplotlib.backends.backend_gtk import gtk, FigureManagerGTK,
> FigureCanvasGTK,\
> File
> "/usr/local/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.py",
> line 36, in <module>
> from matplotlib.backends.backend_gdk import RendererGDK, FigureCanvasGDK
> File
> "/usr/local/lib/python2.7/site-packages/matplotlib/backends/backend_gdk.py",
> line 33, in <module>
> from matplotlib.backends._backend_gdk import pixbuf_get_pixels_array
> ImportError: No module named _backend_gdk
I don't actually see that here, if matplotlib is installed it looks
like this:
$ scapy
INFO: Can't import PyX. Won't be able to use psdump() or pdfdump().
WARNING: can't import layer tls: No module named _MD2
Welcome to Scapy (unknown.version)
And if it isn't installed:
$ scapy
Traceback (most recent call last):
File "/usr/local/bin/scapy", line 25, in <module>
interact()
File "/usr/local/lib/python2.7/site-packages/scapy/main.py", line 300, in
interact
scapy_builtins = __import__("all",globals(),locals(),".").__dict__
File "/usr/local/lib/python2.7/site-packages/scapy/all.py", line 16, in
<module>
from scapy.arch import *
File "/usr/local/lib/python2.7/site-packages/scapy/arch/__init__.py", line
18, in <module>
from matplotlib import get_backend as matplotlib_get_backend
ImportError: No module named matplotlib