Python3 pcap模块的问题

开发环境:Ubuntu20.04

Python版本:3.8.2(Ubuntu20.04的default,module并不全),系统中也有python2.7

开发用途:字面意思 packet capture

开发背景:在Pycharm中import pcap时找不到模块,后各种安装libpcap等模块后,并无法pip3 install pypcap。


 1. 检查python和python-dev是否安装全(突破在-dev上)

       

dpkg-query -l python3
dpkg-query -l python3-dev
#如果二者中有没安装的就先安装,如果出现none,就说明没有安装了
sudo apt-get install python3 python3-dev
#注意开发最好用官方源
#执行过sudo apt-get install python3.8-dev但没成功
#之后又执行了sudo apt-get install python3-dev,提示安装的python3.5-dev,但是之后查询了一下,结果是python3.8-dev。

 2. 安装flex和bison

sudo apt-get install flex bison

 3. 下载libpcap并安装

#下载地址 首页 http://www.tcpdump.org/
sudo wget http://www.tcpdump.org/release/libpcap-1.9.1.tar.gz
#安装(中间可能会有警告,但是不影响)
sudo tar -zxvf libpcap-1.9.1.tar.gz
cd libpcap-1.8.1/
#执行sudo ./configure 过程中会有一些check的结果是no,不过这些条目应该正常就是no。不报错即可。
sudo ./configure
sudo make
sudo make install
#如果报错找不到make命令,是因为是最小化mini安装,系统没有安装make等常用命令,执行sudo apt-get install  gcc automake autoconf libtool make再make即可。

 4. 下载pypcap并安装

sudo pip3 install pypcap

这样即可,不需要wget到压缩包后再解压,sudo python3 setup.py install。

 5. 测试安装是否成功

在终端中进入python命令行,

#如果未报错,说明安装成功
>>>import pcap
>>>

 但是这并没有说明编译运行就不会成功。

我在Pycharm中import pcap后正常,函数也正常加载了,但是编译执行时出现了问题。之后打开在终端中打开,用python编译运行没问题,但是python3就有问题了,找不到pcap模块。之后检查python3-dev的版本信息是None,于是如1中步骤安装后,再用Pycharm执行或者终端下sudo python3 执行就可以了。


Reference:部分参考了这篇博文

https://my.oschina.net/u/2607780/blog/819588

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值