![](/img/trans.png)
[英]AttributeError: module 'nmap' has no attribute 'PortScanner'
[英]'module' object has no attribute 'PortScanner'
我正在使用Ubuntu 12.04并安装了python-nmap来创建脚本。 如果我使用IDLE并输入以下内容,则可以正常运行:
import nmap
nm = nmap.PortScanner()
nm.scan('127.0.0.1', '22-443')
但是,如果我在Eclipse中执行此操作,则会收到以下错误:
Traceback (most recent call last):
File "/home/russ/workspace/ViPyNmap/MyFiles/nmaptest.py", line 2, in <module>
nm = nmap.PortScanner()
AttributeError: 'module' object has no attribute 'PortScanner'
我已经将egg文件和文件夹添加到了项目的Eclipse路径中,但是没有运气。 这样做之后,我也重新启动了Eclipse,但是没有运气。 对于我对Eclipse和Python的经验不足,我深表歉意,并感谢您的帮助。
如果在目录/usr/local/lib/python2.7/dist-packages/nmap/
看到源代码nmap.py
,则会发现没有nmap.py
类。
您应该删除包含文件的目录.../nmap/
,并安装新的软件包nmap
或通过python setup.py install
在新的软件包目录中。
您还可以将文件复制nmap.py
在新的包目录.../MyFiles/
你的PY文件nmaptest.py
,并运行命令python nmaptest.py
。
祝你好运 !
发生这种情况的原因是,您名为nmap.py的模块现在正在遮盖您尝试使用的预期请求模块。
为了避免这种情况,您应该将模块重命名为其他名称以避免这些情况。 此外,可能还会生成一个nmap.pyc文件,该文件位于nmap.py所在的本地。 确保重命名后也将其删除,因为解释器仍将引用该文件,从而重新产生错误。
解决问题的示例:
将文件重命名为nmapscan.py,删除nmap.pyc并再次运行。
上面的答案在python 2.7中工作正常,但是当我们在python3环境中工作时,以下内容将有助于解决它
pip卸载nmap pip卸载python-nmap pip3安装python-nmap
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.