ModuleNotFoundError:没有名为“scapy”的模块

问题描述 投票:0回答:4

我无法在虚拟环境中导入模块“scapy”。 我用 python 3.6.9(我必须在我的项目中使用)和 python 3.7 进行了尝试。这些版本都不起作用。

导入变体,如

from scapy.all import *

import scapy

from scapy import IP, sr1, ICMP

所有这些都不起作用。

我发现的其他帖子都没有解决我的问题。

虚拟环境中通过

pip
安装成功。之后该模块出现在

的结果中

pip list

我打印了路径,python 搜索模块并发现 scapy 模块的路径不在其中,这有点有趣,因为这不是人们期望使用虚拟环境的通常方式...... ?!无论如何,添加此路径后:

import sys
sys.path.append('/home/username/Desktop/environments/my_env/bin/')

它也不起作用,即使 scapy 二进制文件与 python 位于同一 bin 文件夹中。

我已经尝试重新安装......基本上一切。

python python-3.x import module scapy
4个回答
0
投票

你是不是不小心安装了scrapy? (scrapy而不是scapy)?


0
投票

这也发生在我身上,猜猜我有一个脚本保存为“scapy.py!” 这就是我的情况的问题!吸取的教训 :) 为脚本选择名称时要小心。


0
投票

我在 python3.8 中遇到了同样的问题。我是一名 Kali Linux 用户,当时正在做一个项目。在该项目中,我需要导入“scapy”模块。所以,通常我用 pip 安装 scapy。但它没有与 python3.8 一起运行。然后我注意到,我可以使用 python 2.7 与 scapy 模块运行相同的 python 脚本。然后我只是简单地进入终端并输入这些简单的命令......

sudo cp -r /usr/local/lib/python2.7/dist-packages/scapy /usr/local/lib/python3.8/dist-packages/

通过这个命令,我将 scapy 模块从 python 2.7 的目录复制到 python 3.8 的目录。

如果这不起作用,也请按照此命令操作...

sudo cp -r /usr/local/lib/python2.7/site-packages/scapy /usr/local/lib/python3.8/site-packages/

这个解决方案对我有用。希望这也对您有用。 谢谢。


0
投票

这些是解决此问题的不同方法:

1.不要使用IDLE

IDLE 可能会导致 scapy 出现问题,即使它有效,您也可能会收到 OSError。使用另一个更好的文本编辑器,例如 VS。

2. 使用正确的命令

Scapy 是需要安装的模块之一,对于某些人来说,像这样的简单命令将不起作用:

pip install scapy

pip3 install scapy

尝试这些对我安装和使用 scapy 有用的命令。我提供了 4 个命令,您应该在命令行界面上使用它,以确保至少有一个可以工作。一一尝试。根据我的经验,它们很有效。

py install scapy

py -3.12 -m install scapy

pip install scapy==2.5.0

pip3 install scapy==2.5.0

如果这些不起作用,请转到此处,提出问题并单击此处以了解如何下载和安装。它包括安装开发版本或使用 Git 安装等其他方式。

© www.soinside.com 2019 - 2024. All rights reserved.