测试需求需要用到scapy库,遂在本机配置scapy环境,但最后一直提示权限问题,可能和sip有关系。
最后在同事介绍下使用虚拟环境(virtualenv)搞定。
virtualenv:
VirtualEnv用于在一台机器上创建多个独立的python运行环境,类似于一个个沙盒环境。
作用:
隔离项目之间的第三方库依赖,如A项目依赖xxx1.1,B项目依赖xxx1.2。
为部署应用提供方便,把开发环境的虚拟环境打包到生产环境即可,不需要在服务器上再折腾一翻。
尝试新的第三方库,而不用担心污染系统环境。
在沒有权限的情況下安装新组件。
1、配置virtualenv
pip install virtualenv #安装
#virtualenv -h #查看帮助
cd Document/temp/ #在该目录下创建目录
virtualenv venv #创建虚拟环境的目录,名为venv,它包含了Python可执行文件和拷贝过来的pip 库(能安装需要的包到虚拟环境)
# virtualenv -p /usr/bin/python2.7 venv# -p选项 选择使用哪一版本的Python解释器 由于本机只有2.7环境,故无需配置该步骤
#--no-site-packages 选项 virtualenv 将不会包括物理机python环境安装的包(这在 virtualenv 1.7及之后是默认的)
source venv/bin/activate #激活刚才创建的虚拟环境
# deactivate #有必要时可关闭虚拟环境
2、安装scapy环境
scapy所依赖的库 安装时会不断的提示
1.PyX :
2.pcapy
3.gnuplot-py
4.dnet
dnet需要用lib1.12
依赖库下载地址:https://github.com/todototry/scapyInstallDependents
在venv目录下载上面的依赖库。
逐个安装:
需要注意的是dnet:
cd libdnet-1.12/
./configure & make
make install
cd python
python setup.py install
最后确认下 lib/python2.7/site-packages/下是否有dnet-1.12-py2.7.egg-info dnet.so两个文件
其他库直接python setup.py install安装即可。
from scapy.all import * #测试是否正常
参考链接:
http://blog.csdn.net/alexzhang67/article/details/52084874
http://www.cnblogs.com/ToDoToTry/p/5323118.html