Scapy,Pycharm 问题需要解决 [在 'all.py' 中找不到参考 'ARP']

Scapy, Pycharm issue needs solving [Cannot find reference 'ARP' in 'all.py']

是的...我以前在将头从键盘上摔下来大约两天后可以正常工作...但是,我的 SSD 出现故障并且我丢失了所有 VM,我不记得我做了什么来解决这个问题。

经过一些研究,我得出的结论是 Pycharm 以及它如何进行动态导入。尽管如此,就像我之前所说的那样,我以前有过这个工作。

我试过使用 Pycharm 和 Python 的最新版本和旧版本都无济于事。

有人知道我该如何解决这个问题吗?这似乎是 Google 上的一个常见问题,没有明确的解决方案。

from scapy.layers.l2 import ARP as ARP
from scapy.layers.l2 import Ether as Ether

这是我目前找到的解决方案。但是,如果这不是必需的并且 scapy.all 可以像我以前那样使用,那将会很有帮助。如果我自己找到解决方案,我会 post 在这里。

我的解决方案是使用 VS Code 和 pipenv 而不是 Pycharm,因为您可以获得 Pycharm 的所有好处而没有问题。

  1. 使用sudo pip install pipenv
  2. 全局安装pipenv
  3. 使用 pipenv install --python 3.8 为 python
  4. 的特定版本创建虚拟环境
  5. 执行pipenv shell启动虚拟环境
  6. 要安装 scapy 使用 pipenv install scapy
  7. Select 在 VS Code 中更改设置时使用 Ctrl + Shift + P 的正确虚拟环境,搜索“解释器”和 select “Python: Select Interpreter" 选项和 select 你的 Pipenv 环境
  8. 运行 终端中使用 python program.py 的代码

您可以通过这种方式使用 import scapy.all as scapy,这对于生产而言不是最佳选择,但非常适合测试和快速开发。