![](/img/trans.png)
[英]Import hid OSError: [WinError 126] The specified module could not be found
[英]OSError: [WinError 126] The specified module could not be found (using (pcap-ct) import pcap in python)
我正在做一个项目,我在 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并找到了不同的问题及其答案,但它们是因为有人正在导入 any.dll 文件或使用它,他们在路径中使用 \ 并且答案是他们应该使用 / 或 \ 代替,因为 \ 是也用于转义序列。 但我没有使用这样的东西。
如果 pcap 代码是这样使用的,我不知道。 谁能帮我解决问题和解决方案是什么?
问题不在于 pcap 本身,而在于它的依赖项 libpcap。 由于我无法访问您的计算机,因此我无法确定导致问题的原因。 但是,这里有一些我推荐的故障排除步骤:
DLL_PATH
变量。 这将告诉您 libpcap 在哪里寻找wpcap.dll
。wpcap.dll
包含在 libpcap package 中。 尝试更新PATH
环境变量,以便包含wpcap.dll
目录。 它将是这样的set PATH=C:\Users\Desktop\Desktop\NetworkTraficAnalyser\venv\lib\site-packages\libpcap\_platform\_windows\x64\wpcap;%PATH%
有关详细信息,请参阅libpcap 的 github 页面。我在使用 ctypes 库时遇到了类似的错误。 它们几乎总是搜索错误的 dll 或没有正确的工作目录来查找所有 dll 的依赖项的结果。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.