将 scapy 导入搅拌机

Importing scapy to blender

我正在尝试将 scapy 模块导入到搅拌机中:

from bge import logic
import socket
from scapy.all import *

但是我遇到了这个例外:

我把scapy模块文件夹复制到:

C:\Program Files\Blender Foundation\Blender.75\scripts\modules

这是它包含的内容:

注意所有,base_classes在里面。

此外,我尝试在环境变量中添加 PYTHONPATH(我是 不确定这是我必须做的..我也尝试添加

C:\Program Files\Blender Foundation\Blender.75\scripts\modules\scapy

在PATH和PYTHONPATH中都没有解决问题):

编辑:

sambler 说的问题是我使用的 scapy 不支持 blender 使用的 python 3.x。 所以我从这里下载支持 python 3.x 的较新的 scapy 版本:https://github.com/phaethon/scapy 并用旧的 scapy 替换它,现在它可以工作了,但我无法嗅探、发送或接收数据包:

这个错误的直接原因是你的PYTHONPATH环境变量中没有C:\Program Files\Blender Foundation\Blender.75\scripts\modules。这不是特定的 Blender 问题,这是加载 third-party 包的一般 Python 要求。

您可以尝试将 PYTHONPATH 添加为全局 per-user 环境变量,如以下问题所述:How to add to the pythonpath in windows 7?

错误的屏幕截图中有两件事暴露了问题 -

  • 最后一行的 ^ 指向 0xFFL
  • 中的 L
  • 上面那行显示 C:\Python27\scapy\base_classes.py

从 2.50 开始,blender 使用 python 3.x 并且导致异常的错误(L 指定一个 long int)是 python 2.7 语言功能,已在 3.0 中删除。

快速搜索显示 scapy 的一个分支已与 python3

一起使用

看看scapy-python3