如何去除pyinstaller生成的exe中的scapy错误?

0 投票
1 回答
19 浏览
提问于 2025-04-13 13:58

我有一段用Python写的scapy代码,运行得很好。我用pyinstaller把它打包成了一个exe文件,然后在另一台没有安装Python或scapy的电脑上运行。

这个工具在第二台电脑上运行得不错,但一开始我遇到了这个错误

ERROR: Loading module scapy.layers.dcerpc
Traceback (most recent call last):
  File "scapy\main.py", line 191, in _load
  File "importlib\__init__.py", line 90, in import_module
  File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
  File "PyInstaller\loader\pyimod02_importers.py", line 419, in exec_module
  File "scapy\layers\dcerpc.py", line 30, in <module>
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
  File "PyInstaller\loader\pyimod02_importers.py", line 419, in exec_module
  File "scapy\layers\dns.py", line 1262, in <module>
  File "scapy\arch\windows\__init__.py", line 1035, in read_nameservers
AttributeError: 'NetworkInterface' object has no attribute 'nameservers'

这些错误能不能在不安装scapy的情况下解决呢?

1 个回答

0

在使用 pyinstaller 时,可以加上 --path [PYTHON_SITE_PACKAGES_PATH] 这个参数来包含你的库。我强烈建议你查看一下 这个帖子,里面有更多的信息。

撰写回答