0
我得到的是nmap的是不是我的路徑中找到(使用python-NMAP)的錯誤。但是,這是在我的路徑。PortScannerError「中未找到路徑NMAP程序」(但它是在路徑)
Nmap的工作,當我在Python執行我的劇本,但是當我使用pyinstaller的代碼凍結的.exe文件,當我嘗試運行我的代碼,我得到這個錯誤:
Traceback (most recent call last):
File "utils\map_network.py", line 7, in scan_network
File "site-packages\nmap\nmap.py", line 131, in __init__
PortScannerError: 'nmap program was not found in path. PATH is :
C:\\Program Files (x86)\\Intel\\iCLS Client\\;
C:\\Program Files\\Intel\\iCLS Client\\;
C:\\ProgramData\\Oracle\\Java\\javapath;
C:\\windows\\system32;C:\\windows;
C:\\windows\\System32\\Wbem;
C:\\windows\\System32\\WindowsPowerShell\\v1.0\\;
C:\\Python27\\;
C:\\Python27\\Scripts\\;
C:\\Program Files (x86)\\Intel\\Intel(R) Management Engine Components\\DAL;
C:\\Program Files\\Intel\\Intel(R) Management Engine Components\\DAL;
C:\\Program Files (x86)\\Intel\\Intel(R) Management Engine Components\\IPT;
C:\\Program Files\\Intel\\Intel(R) Management Engine Components\\IPT;
C:\\Program Files (x86)\\Nmap;
C:\\Users\\sillico\\AppData\\Local\\Microsoft\\WindowsApps;
C:\\Users\\sillico\\AppData\\Local\\Programs\\Git\\cmd'
正如你可以看到,我的PATH中有Nmap。有什麼想法嗎?
大概'subprocess.Popen'失敗。我看到,它只是重定向'stdout',留下標準輸入和標準錯誤的電流值的來源。這可能在Windows 7中,如果你凍結這是一個非控制檯應用程序的問題,因爲理線可在其標準的句柄繼承無效控制檯句柄值。在這種情況下,解決方法是在啓動時將進程標準句柄設置爲NULL。 – eryksun
例如:'進口ctypes的;''KERNEL32 = ctypes.WinDLL( 'KERNEL32',use_last_error = TRUE);在''爲H(-10,-11,-12):kernel32.SetStdHandle(H,無)' 。 – eryksun