由于令牌无效,Scapy 安装失败

Scapy installation fails due to invalid token

最近开始学习网络,想安装scapy。 我已经下载了最新版本 (2.2.0),并且我的计算机上有两个版本的 python - 2.6.1 和 3.3.2。我的 OS 是 windows 7 64 位。

解压 scapy 并导航到终端中的正确文件夹后,系统指示我 运行 "python setup.py install"。我收到以下错误 -

File "setup.py", line 35
os.chmod(fname,0755)
................................^
......................invalid token

(对齐点)

如何解决这个问题?

将os.chmod(fname,0755)更改为os.chmod(fname,0o755)并重新运行

更新:scapy-python3 已弃用 (2018),将不再更新。 scapy>=2.4.0 已合并 python 3 兼容性。

现在最新的安装方法是

pip3 install scapy>=2.4.0

其他安装方法可以查看installation page in the documentation

原回答:

也许您正在尝试为 Python 2 安装软件包 scapy,但您需要 Python 3.

pip install scapy 

出现此错误:

os.chmod(fname,0755)
                  ^
SyntaxError: invalid token

pip3 install scapy-python3

安装正确。

此错误表示八进制数不被Python3识别,参见PEP 3127:

octal literals must now be specified with a leading "0o" or "0O" instead of "0";

以下适用于 Python 3.5

pip3.5 install scapy-python3

Scapy主要用于uinx-likedOS,无法通过pip安装。但是他们为 windows:

提供了 msi 安装程序

http://www.secdev.org/projects/scapy/doc/installation.html

错误也发生在 Linux,但是 virtualenv 保存 me.Virtualenv 是使用不同版本 python 或在一个 OS 上使用库的一个很好的解决方案。

virtualenv -p $python_bin_path $virtualenv_directory_name

使用 python2 和 python3 创建虚拟环境:

virtualenv -p `which python` project_with_python2
virtualenv -p `which python3` project_with_python3

然后激活 env,并安装要求。

cd project_with_python2
source bin/activate
pip install scapy
pip install -r requirements.txt

并使用 deactivate 退出环境。

如果 pip 安装导致问题。您可以使用 wget 下载并尝试安装。

$ cd /tmp
$ wget --trust-server-names scapy.net
$ unzip scapy-x.x.x.zip
$ cd scapy
$ sudo python setup.py install

检查 here 以了解安装 scapy 的所有方法。