OSError:[WinError 126]找不到指定的模块(使用python中的(pcap ct)导入pcap)

OSError:[WinError 126]找不到指定的模块(使用python中的(pcap ct)导入pcap),python,pcap,libpcap,winpcap,Python,Pcap,Libpcap,Winpcap,我正在做一个项目,在这个项目中,我正在使用libpcap和pcap-ct在pycharm中使用python。 我的代码运行良好,但我必须将我的项目从一个设备转移到另一个设备。两台设备都使用相同版本运行windows 10 pro。我在两台设备上使用的Python3.7.3版本都相同,但在第一台设备上,我的项目运行良好,但在第二台设备上,我遇到了这个错误 我是这样进口的 import pcap import dpkt 错误是这样的 File "C:\Users\Desktop\

我正在做一个项目,在这个项目中,我正在使用libpcappcap-ct在pycharm中使用python。 我的代码运行良好,但我必须将我的项目从一个设备转移到另一个设备。两台设备都使用相同版本运行windows 10 pro。我在两台设备上使用的Python3.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:\Users\Desktop\Desktop\NetworkTraficAnalyser\ShowGraph.py”,第5行,在
导入pcap
文件“C:\Users\Desktop\Desktop\NetworkTraficAnalyser\venv\lib\site packages\pcap\\uuuu init\uuu.py”,第6行,在
从._pcap导入*;德尔普卡普诺卡酒店
文件“C:\Users\Desktop\Desktop\NetworkTraficAnalyser\venv\lib\site packages\pcap\\u pcap.py”,第20行,在
从libpcap导入(DLT_NULL、DLT_EN10MB、DLT_EN3MB、DLT_AX25、,
文件“C:\Users\Desktop\Desktop\NetworkTraficAnalyser\venv\lib\site packages\libpcap\ \uuuuuu init\uuuuuu.py”,第7行,在
从._pcap导入*;删除_pcap#noqa
文件“C:\Users\Desktop\Desktop\NetworkTraficAnalyser\venv\lib\site packages\libpcap\\u pcap.py”,第73行,在
从.\u dll导入dll
文件“C:\Users\Desktop\Desktop\NetworkTraficAnalyser\venv\lib\site packages\libpcap\\u dll.py”,第10行,在
加薪
文件“C:\Users\Desktop\Desktop\NetworkTraficAnalyser\venv\lib\site packages\libpcap\\u dll.py”,第8行,在
dll=dll(dll\U路径)
文件“C:\Users\Desktop\AppData\Local\Programs\Python\37\lib\ctypes\\ uuuuuu init\uuuuu.py”,第356行,在\uuu init中__
self.\u handle=\u dlopen(self.\u名称,模式)
OSError:[WinError 126]找不到指定的模块
我已在我的目录中签入此文件C:\Windows\System32我有此文件wpcap.dll

我不知道,在我的两台设备上,该文件是否相同,但在两台设备上都存在。 我搜索了此错误代码WinError 126,找到了不同的问题和答案,但这是因为有人正在导入任何.dll文件或使用它,他们在路径中使用了\而答案是他们应该使用/或\的,因为\也用于转义序列。但我没有使用类似的任何东西。
如果pcap代码是这样使用的,我不知道。
有谁能帮我解决问题和解决方案吗?

问题不在于pcap本身,而在于它的依赖项libpcap。由于我无法访问您的计算机,我无法确定是什么导致了问题。不过,我建议您采取以下故障排除步骤:

  • 编辑C:\Users\Desktop\Desktop\NetworkTraficAnalyser\venv\lib\site packages\libpcap\u dll.py第8行,以便打印
    dll\u路径
    变量。这将告诉您libpcap在哪里查找
    wpcap.dll
  • libpcap包中包含
    wpcap.dll
    。请尝试更新
    PATH
    环境变量,以便包含
    wpcap.dll
    目录。它类似于
    set PATH=C:\Users\Desktop\Desktop\NetworkTraficAnalyser\venv\lib\site packages\libpcap\\u platform\\u windows\x64\wpcap;%PATH%
    有关详细信息,请参阅
  • 如果这些步骤失败,在libpcap的github页面上创建一个问题,并请求他们的帮助

  • 在使用ctypes库时,我遇到过类似的错误。这些错误几乎都是由于搜索了错误的dll或没有正确的工作目录来查找所有dll的依赖项造成的。

    非常感谢,这是由于python路径的更改