【发布时间】:2021-04-04 13:48:29
【问题描述】:
我正在做一个项目,我在 pycharm 中使用 python 使用 libpcap 和 pcap-ct。 我的代码运行良好,但我必须将我的项目从一台设备转移到另一台设备。两台设备都运行相同版本的 windows 10 pro。我在具有相同 pychram 版本的两台设备上使用 python 3.7.3,但在第一台设备上,我的项目运行良好,但在第二台设备上出现此错误。
我是这样导入的。
import pcap
import dpkt
错误是这样的。
File "C:\Users\Desktop\Desktop\NetworkTraficAnalyser\ShowGraph.py", line 5, in <module>
import pcap
File "C:\Users\Desktop\Desktop\NetworkTraficAnalyser\venv\lib\site-packages\pcap\__init__.py", line 6, in <module>
from ._pcap import * ; del _pcap # noqa
File "C:\Users\Desktop\Desktop\NetworkTraficAnalyser\venv\lib\site-packages\pcap\_pcap.py", line 20, in <module>
from libpcap import (DLT_NULL, DLT_EN10MB, DLT_EN3MB, DLT_AX25,
File "C:\Users\Desktop\Desktop\NetworkTraficAnalyser\venv\lib\site-packages\libpcap\__init__.py", line 7, in <module>
from ._pcap import * ; del _pcap # noqa
File "C:\Users\Desktop\Desktop\NetworkTraficAnalyser\venv\lib\site-packages\libpcap\_pcap.py", line 73, in <module>
from ._dll import dll
File "C:\Users\Desktop\Desktop\NetworkTraficAnalyser\venv\lib\site-packages\libpcap\_dll.py", line 10, in <module>
raise exc
File "C:\Users\Desktop\Desktop\NetworkTraficAnalyser\venv\lib\site-packages\libpcap\_dll.py", line 8, in <module>
dll = DLL(DLL_PATH)
File "C:\Users\Desktop\AppData\Local\Programs\Python\Python37\lib\ctypes\__init__.py", line 356, in __init__
self._handle = _dlopen(self._name, mode)
OSError: [WinError 126] The specified module could not be found
我已经检查了我的这个目录 C:\Windows\System32 我有这个文件 wpcap.dll
我不知道,在我的两台设备上,此文件是否相同,但在两台设备上都存在。
我搜索了这个错误代码 WinError 126 并找到了不同的问题及其答案,但它们是因为有人正在导入任何 .dll 文件或使用它并且他们在路径中使用 \ 并且答案是他们应该使用/ 或 \ 代替,因为 \ 也用于转义序列。但我没有使用这样的东西。
如果 pcap 代码是这样使用的,我不知道。
谁能帮我解决问题和解决方案?
【问题讨论】:
标签: python pcap libpcap winpcap