Windows11+VSCode中python-nmap的PortScanner属性报错求助
解决 AttributeError: partially initialized module 'nmap' has no attribute 'PortScanner' 问题
核心原因
你的脚本文件名是nmap.py,和你要导入的python-nmap库的模块名完全一致。Python在导入模块时会优先查找当前工作目录下的文件,导致它加载的是你自己写的脚本,而非安装好的python-nmap库,进而引发循环导入错误。
解决步骤
- 重命名你的脚本文件:把
nmap.py改成其他不冲突的名称,比如network_scanner.py。 - 删除残留缓存文件:检查当前目录下是否存在
nmap.pyc文件或__pycache__文件夹,直接删除它们,避免Python加载旧的编译缓存。 - 验证修复结果:在终端执行以下代码测试导入是否正常:
import nmap nm = nmap.PortScanner() print("模块导入成功")
如果没有报错,说明问题已解决,可继续编写网络扫描逻辑。
内容的提问来源于stack exchange,提问作者theogod
相关产品推荐
相关产品推荐

