2017-08-26 164 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" 
    )