2017-08-26 161 views
0

我已经在目录/usr/local/share/pynids-0.6.3中从https://bitbucket.org/jmichel/pynids运行Jessie Light的Raspberry Pi v.2上安装了pynids(pynids-0.6.3),如下所示: `pynids(nids)使用python3导入错误

cd /usr/local/share/pynids-0.6.3 
python3 setup.py build 
python3 setup.py install 
python setup.py install ` 

安装就ok了两个python2和python3据我可以告诉:

~> 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: 

的NIDS模块位于何处,我认为他们应该:

~> 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 

导入在python2 NIDS也能正常工作:

~> 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 
>>> 

但试图导入NIDS在python3当我得到一个导入错误说没有NIDS模块:

~> 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' 
>>> 

有什么可以的问题?

回答

0

问题解决了!这是setup.py中的一个错误

在/usr/local/share/pynids-0.6.3的setup.py中,名称/文本“nidsmodule”已更改为“nids”。现在导入也可以在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 = "https://bitbucket.org/jmichel/pynids" 
    )