导入错误:没有名为dns.query的模块

时间:2013-03-06 06:09:40

标签: python scapy

我试图在Windows中执行python代码...代码包含以下几行:

from scapy import *
import random
import socket
import dns.query

但是我从命令行编译它会产生以下错误:

C:\Python25 > attack.py
Traceback <most recent call last>:
File "C:\Python25\attack.py", line 4 , in <module>
import dns.query
ImportError: No module named dns.query

可能是什么错误?我怎么能解决这个问题?是由于路径还是因为dns.query模块没有编译

1 个答案:

答案 0 :(得分:10)

这意味着您没有安装dnspython。

安装dnspython有两种方法:

1.良好的方式:

要安装任何模块,最简单的方法是首先安装设置工具。设置工具类似于ubuntu的“apt-get”。在哪里你说“easy_install”它会得到它并安装它。 要安装setuptools,请从https://pypi.python.org/pypi/setuptools下载源代码 现在开始他们。在解压缩的目录中将是一个文件setup.py。 跑 python setup.py install

这将在您的系统中安装设置工具。

你将能够看到一个可执行文件c:\ python2x \ Scripts \ easy_install.exe(2x是python的版本,例如26,27等)

现在安装dnspython run

c:\ python2x \ Scripts \ easy_install.exe dnspython

这可以解决您的问题,现在您的脚本应该正常运行。

您还可以在Windows PATH中放置c:\ python2x \ Scripts,这样您就不必在每次要安装模块时都放置整个路径。

2.Bad方式:

虽然如果dnspython所依赖的某些模块不可用,这种方法可能无效。

http://www.dnspython.org/kits/1.10.0/下载dnspython的来源并解压缩。 现在转到解压缩的文件夹并运行 python setup.py install

相关问题