即使安装了 nmap 并且 nmap.exe 在路径中,Python nmap 程序也未在路径中找到错误

标签 python python-3.x path nmap

出于某种原因,我无法在 python 上使用 nmap。我已将 python-nmap 作为库安装。每当我尝试使用 PortScanner() 时,都会收到路径错误,但我的计算机上安装了 nmap,而且它甚至在路径中。

import nmap

nm = nmap.PortScanner()

print(nm)

错误是

raise PortScannerError(
nmap.nmap.PortScannerError: 'nmap program was not found in path. PATH is : C:\\Program Files (x86)\\Common Files\\Oracle\\Java\\javapath;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\Program Files\\Microsoft SQL Server\\130\\Tools\\Binn\\;C:\\nodejs\\;C:\\Program Files\\dotnet\\;C:\\Program Files\\Microsoft SQL Server\\Client SDK\\ODBC\\170\\Tools\\Binn\\;C:\\Program Files (x86)\\dotnet\\;C:\\Users\\Anti\\AppData\\Local\\Programs\\Python\\Python38\\Scripts\\;C:\\Users\\Anti\\AppData\\Local\\Programs\\Python\\Python38\\;C:\\Program Files\\Java\\jdk-13.0.2\\bin;C:\\Users\\Anti\\Desktop\\Selenium;C:\\Users\\Anti\\Desktop\\C++;C:\\ffmpeg\\bin;;C:\\Users\\Anti\\AppData\\Local\\Programs\\Microsoft VS Code\\bin;C:\\MinGW\\bin;C:\\Users\\Anti\\AppData\\Roaming\\npm;C:\\Users\\Anti\\.dotnet\\tools;C:\\Program Files (x86)\\Nmap'

我的 nmap 文件位于您可以看到的路径中。

C:\\Program Files (x86)\\Nmap

我尝试重新安装 nmap 并再次添加路径,但没有任何变化。 我可以直接在cmd上使用nmap命令,没有任何问题。顺便说一句,我不使用virtualenv。我该如何解决这个问题?

最佳答案

我知道这是旧线程。但如果有人正在寻找类似的答案。
@sushanth 的回答是正确的。 它只需列出:

nmap_path = [r"C:\Program Files (x86)\Nmap\nmap.exe",]
scanner = nmap.PortScanner(nmap_search_path=nmap_path)

关于即使安装了 nmap 并且 nmap.exe 在路径中,Python nmap 程序也未在路径中找到错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62232252/

相关文章:

python - 使用 Python 在 Windows 上获取默认控制台颜色时出现奇怪的不一致

python - 为什么 heappop 时间复杂度在 python 中是 O(logn) (不是 O(n))?

python - Pygame - 这个游戏不会增加分数

python - 如何在Python和OpenGL中使用glReadPixels?

python - (Python 2.7)使用访问器/更改器(mutator)从类访问变量

python - 从 git bash for windows 激活 venv

python-3.x - 从 Python 的 http.server 提供文件 - 使用文件正确响应

java - 通过()centos LD_LIBRARY_PATH

linux - 从 $PATH 变量中删除冗余路径

java - Jersey 的路径匹配 "sandbox"或空字符串