I have installed pynids (pynids-0.6.3) on a Raspberry Pi v.2 running Jessie Light from in directory /usr/local/share/pynids-0.6.3 as follows: `
cd /usr/local/share/pynids-0.6.3 python3 setup.py build python3 setup.py install python setup.py install ` The installation went ok for both python2 and python3 as far as I can tell:
~> pip show pynids --- Name: pynids Version: 0.6.3 Location: /usr/local/lib/python2.7/dist-packages Requires: ~> pip3 show pynids --- Name: pynids Version: 0.6.3 Location: /usr/local/lib/python3.4/dist-packages Requires: The nids modules are located where I think they should:
~> find /usr/local/lib -name nids* /usr/local/lib/python3.4/dist-packages/nidsmodule.cpython-34m.so /usr/local/lib/python2.7/dist-packages/nidsmodule.so Importing nids in python2 also works fine:
~> python Python 2.7.9 (default, Mar 8 2015, 00:52:26) [GCC 4.9.2] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import nids >>> But when trying to import nids in python3 I get an import error saying there is no nids module:
~> python3 Python 3.4.2 (default, Oct 19 2014, 13:31:11) [GCC 4.9.1] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import nids Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: No module named 'nids' >>> What can be the problem?
1 Answer
Problem solved! It was a bug in setup.py
In setup.py in /usr/local/share/pynids-0.6.3 the name/text "nidsmodule" were changed to "nids". Now import works also in Python3.
ext_modules = [ Extension( "nids", #"nidsmodule", define_macros = [ #("DEBUG", None), #("ENABLE_TCPREASM_DEBUG", None), ("ENABLE_TCPREASM", None), ], sources=["nidsmodule.c"], include_dirs = INCLUDE_DIRS, libraries = ["pcap", "net", "glib-2.0", "gthread-2.0"], library_dirs = LIBRARY_DIRS, extra_objects = EXTRA_OBJECTS ) ], url = "" )