2

我正在尝试使用 IronPython 运行使用来自 C# 的 Scapy 功能的 Python 代码。

我得到以下异常:

IronPython.Runtime.Exceptions.ImportException: 'No module named scapy'

我已经将所有我可以添加到引擎搜索路径中:

paths.Add(@"C:\Program Files (x86)\IronPython 2.7\Lib");
            paths.Add(@"C:\Python27\Lib"); // or you can add the CPython libs instead
            paths.Add(@"C:\Python27\Scripts");
            paths.Add(@"C:\\Python27\\lib\\site - packages\\scapy - git_archive.dev2ef25578b - py2.7.egg");
            paths.Add(@"C:\\windows\\SYSTEM32\\python27.zip");
            paths.Add(@"C:\\Python27\\DLLs");
            paths.Add(@"C:\\Python27\\lib\\plat-win");
            paths.Add(@"C:\\Python27\\Lib\\site-packages\\scapy-git_archive.dev2ef25578b-py2.7.egg\\scapy");
            paths.Add(@"C:\\Python27");
            paths.Add(@"C:\\Python27\\lib\\site-packages");

如果我尝试使用其他 Python 模块功能,例如数学,脚本就会运行。

在寻找解决方案时,我偶然发现了以下信息:

https://grokbase.com/t/python/ironpython-users/1546gp6gt1/import-error-scapy-on-ironpython-windows

底线是:

“你说得对,IronPython 不支持 pywin32,因为 IronPython 通常不支持 C 扩展。在这种特定情况下,可能是因为 scapy 使用 sys.platform == 'win32' 而不是 os.name == 检查 Windows 'nt' 并且它正在尝试运行 Unix 代码路径(uname 是赠品,它是 Unix 上操作系统的一部分,但不是 Windows)。”

但是那篇文章是 2015 年的,它仍然相关吗?我知道 Scapy 从那时起在 Windows 的兼容性和易用性方面有了很大改进。

4

0 回答 0