6

我正在尝试在 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 模块没有编译

4

1 回答 1

11

这意味着您没有安装 dnspython。

安装 dnspython 有两种方法:

1.好方法:

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

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

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

现在安装 dnspython 运行

c:\python2x\Scripts\easy_install.exe dnspython

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

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

2.坏方法:

尽管如果 dnspython 依赖的某些模块不可用,此方法可能不起作用。

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

于 2013-03-06T12:09:03.163 回答