我无法在虚拟环境中导入模块“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 文件夹中。
我已经尝试重新安装......基本上一切。
你是不是不小心安装了scrapy? (scrapy而不是scapy)?
这也发生在我身上,猜猜我有一个脚本保存为“scapy.py!” 这就是我的情况的问题!吸取的教训 :) 为脚本选择名称时要小心。
我在 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/
这个解决方案对我有用。希望这也对您有用。 谢谢。
这些是解决此问题的不同方法:
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 安装等其他方式。