You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

安装python-nmap后调用portscanner提示Nmap program not found报错求助

python-nmap调用提示「nmap program not found」解决方案
  • 报错根因说明:python-nmap仅为Nmap工具的Python封装SDK,本身不内置Nmap二进制程序,该报错为Python运行时无法找到系统中安装的Nmap可执行文件,与python-nmap库是否安装无关。
  • 第一步:验证当前运行上下文的Nmap可用性
    在你执行Python脚本的同一个终端窗口执行命令nmap --version,如果未返回版本信息,说明你配置的环境变量未在当前终端生效,执行对应命令加载配置:
    • BASH环境执行:source ~/.bashrc
    • ZSH环境执行:source ~/.zshrc
    • Windows PowerShell环境执行:$env:Path = [System.Environment]::GetEnvironmentVariable("Path","Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path","User")
  • 第二步:核对Python运行时的环境变量
    部分场景下Python运行时读取的PATH和当前终端的PATH不一致(比如sudo运行、虚拟环境运行、IDE启动运行等场景),在报错的脚本开头加入以下代码,打印运行时的PATH,确认是否包含Nmap所在目录:
import os
print(os.environ['PATH'])
  • 第三步:强制指定Nmap路径(优先推荐,可跳过环境变量配置)
    初始化PortScanner时直接手动传入Nmap的绝对路径,不需要调整系统环境变量即可直接生效,示例如下(替换为你本地实际的Nmap可执行文件路径即可):
import nmap
# 比如nmap存放在/usr/local/bin/nmap就按如下写法
scanner = nmap.PortScanner(nmap_search_path=['/usr/local/bin/nmap'])
  • 额外注意事项:Windows系统下不要将Nmap安装在带中文或空格的目录下,避免路径识别异常。

内容的提问来源于stack exchange,提问作者Santosh Upadhayay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 04:15:00