partially initialized module ‘nmap‘ has no attribute ‘PortScanner‘——已解决

在尝试使用nmap包进行端口扫描时,遇到一个错误:部分初始化的模块'nmap'没有属性'PortScanner'。这个问题可能由Python版本不兼容、包冲突或脚本文件名与库名相同引起。解决方案包括确保使用Python3.8环境,卸载并重新安装python-nmap包,以及检查并更改脚本文件名以避免与库名冲突。经过这些步骤,成功执行了nmap扫描并显示了扫描结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述:

使用nmap包,运行出现 partially initialized module ‘nmap’ has no attribute ‘PortScanner’ (most likely due to a circular import) 错误

部分初始化的模块“nmap”没有属性“PortScanner”(很可能是由于循环导入)

"C:\Users\28177\Desktop\pennetration test\venv\Scripts\python.exe" "C:\Users\28177\Desktop\pennetration test\Python-nmap\nmap.py"
Traceback (most recent call last):
  File "C:\Users\28177\Desktop\pennetration test\Python-nmap\nmap.py", line 1, in <module>
    import nmap
  File "C:\Users\28177\Desktop\pennetration test\Python-nmap\nmap.py", line 2, in <module>
    nm = nmap.PortScanner()
AttributeError: partially initialized module 'nmap' has no attribute 'PortScanner' (most likely due to a circular import)

进程已结束,退出代码 1

解决方案:

①python版本

要用python3.8 exe作为环境

②包问题

卸载nmap和python-nmap包,在重新安装python-nmap包

pip uninstall nmap
pip uninstall python-nmap
pip install python-nmap

③脚本名称

脚本名称与引用包重名(nmap),修改脚本文件名即可

"C:\Users\28177\Desktop\pennetration test\venv\Scripts\python.exe" "C:\Users\28177\Desktop\pennetration test\Python-nmap\pynmap.py"
nmap -oX - -p 1-1024 -sS 192.168.1.110
['192.168.1.110']
host;hostname;hostname_type;protocol;port;name;state;product;extrainfo;reason;version;conf;cpe
192.168.1.110;;;tcp;135;msrpc;open;;;syn-ack;;3;
192.168.1.110;;;tcp;137;netbios-ns;filtered;;;no-response;;3;
192.168.1.110;;;tcp;139;netbios-ssn;open;;;syn-ack;;3;
192.168.1.110;;;tcp;445;microsoft-ds;open;;;syn-ack;;3;
192.168.1.110;;;tcp;843;unknown;open;;;syn-ack;;3;
192.168.1.110;;;tcp;902;iss-realsecure;open;;;syn-ack;;3;
192.168.1.110;;;tcp;912;apex-mesh;open;;;syn-ack;;3;


进程已结束,退出代码 0
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我重来不说话

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值