首页 > 解决方案 > Scapy,Pycharm 问题需要解决 [Cannot find reference 'ARP' in 'all.py']

问题描述

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

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

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

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

截屏

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

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

标签: pythonpycharmscapy

解决方案


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

  1. 使用全局安装 pipenvsudo pip install pipenv
  2. pipenv install --python 3.8使用特定版本的 python创建虚拟环境
  3. pipenv shell启动虚拟环境
  4. 安装 scapy 使用pipenv install scapy
  5. 在 VS Code 中使用 when 选择正确的虚拟环境Ctrl + Shift + P来更改设置,搜索“解释器”并选择“Python:选择解释器”选项并选择您的 Pipenv 环境
  6. python program.py在终端中运行代码

这样您就可以使用import scapy.all as scapy,这对于生产来说不是最好的,但它非常适合测试和快速开发。


推荐阅读