On 2016/11/01 15:59, Daniel Jakots wrote: > On Tue, 1 Nov 2016 10:31:47 +0000, Stuart Henderson > <s...@spacehopper.org> 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