2

我正在尝试在 python 3 上安装 dpkt,安装时出现以下错误:

(venv)[root@miura dpkt-1.8]# python setup.py install
Traceback (most recent call last):
  File "setup.py", line 4, in <module>
    import dpkt
  File "/root/dpkt-1.8/dpkt/__init__.py", line 13, in <module>
    import ah
ImportError: No module named 'ah'

我错过了什么?我看到“ah”是导入的第一个模块,而 ah.py 在 dpkt 目录中。

如果我尝试使用 pip 安装,我会得到同样的结果。

4

2 回答 2

4

我今天也遇到了这个问题。

我尝试在 Python 2.7 下进行安装,它立即生效。从外观上看,Dpkt 尚未更新为在 3.x 中工作。

我使用 Python 3.4 自带的 2to3 工具来转换源码:

python C:\Python34\Tools\Scripts\2to3.py -w dpkt-1.8

除了 ieee80211.py 之外的所有文件都成功了,我必须手动编辑它以分离导入,以便它读取:

from . import dpkt
import socket, struct

完成后,您可以像往常一样运行 python 3.4 并使用 setup.py install 。

但是我没有进行任何广泛的测试,所以请记住,脚本转换了源......

更新:我无法使用这种方法读取 pcap 文件 - 看起来需要更仔细的移植。

于 2014-12-15T08:55:10.243 回答
2

从 1.9.1 版开始,dpkt 支持 Python 3

https://pypi.python.org/pypi/dpkt/1.9.1

于 2017-04-26T20:37:18.860 回答