0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Windows下python组件hyperscan的编译与安装

秃头也爱科技 来源:秃头也爱科技 作者:秃头也爱科技 2022-10-13 15:24 次阅读

什么是Hyperscan

hyperscan 是英特尔推出的一款高性能正则表达式引擎,一次接口调用可以实现多条规则与多个对象之间的匹配,可以支持多种匹配模式,块模式和流模式,它是以PCRE为原型开发,并以BSD许可证开源。

使用时分2步来实现:

第1步:对规则集进行预编译,编译时可以指定规则集类型的参数:正则表达式或文本模式

第2步:利用编译好的规则集进行匹配,匹配时可以指定为块模式或流模式

另外需要注意的是x86版本和arm版本的源代码是有区别的,官网下载x86版本(https://github.com/intel/hyperscan)无法在arm平台中编译通过,arm版本下载地址(https://github.com/tqltech/hyperscan/releases)。

下面以在windows X86平台为例来讲解hyperscan python组件的编译安装方法:

1、 下载和解压hyperscan-5.4.0

2、 在powershell下创建build目录,执行cd build

3、 输入cmake -G命令,查看-G支持的类型列表

IMG_256

4、 输入cmake -G “Visual Studio 15 2017 Win64” -DBUILD_SHARED_LIBS=on …/命令

IMG_257

  • 提示命令执行失败,需要指定BOOST_ROOT参数

5、 下载boost源代码,解压到hyperscan目录中

IMG_258

6、 输入cmake -G “Visual Studio 15 2017 Win64” -D BOOST_ROOT=%cd%/…/boost_1_78_0/ -DBUILD_SHARED_LIBS=on …/命令

IMG_259

  • 提示缺少PCRE和sqlite3

7、 下载PCRE、sqlite源代码并解压到hyperscan目录中

IMG_260

8、 输入cmake -G “Visual Studio 15 2017 Win64” -D BOOST_ROOT=%cd%/…/boost_1_78_0/ -DBUILD_SHARED_LIBS=on -D PCRE_SOURCE=%cd%/…/pcre-8.45/ …/命令,命令执行成功,build目录下生成一系列的vs2017工程文件

IMG_261

9、 输入cmake –build .命令执行编译,编译成功后分别在bin、lib目录下生成一系列文件

IMG_262

  • bin目录列表

IMG_263

  • lib目录列表

10、 下载hyperscan python源代码(https://pypi.org/project/hyperscan/),原来的setup.py无法在windows下安装成功,需要修改setup.py文件内容如下:

- - coding: utf-8 - -

from distutils.core import *

module1 = Extension("hyperscan.hyperscan",

include_dirs = ['src/hyperscan'],

               libraries = ['hs', 'hs_runtime'],

                library_dirs  = [r'../hyperscan-5.4.0/build/lib'],

            extra_compile_args = ['/Zi', '/Od'],

               extra_link_args = ['/DEBUG'],

               sources = ["src/hyperscan/hyperscanmodule.c"])

setup(name="hyperscan", #打包文件名称 库说明文件的文件名

version="0.2.0", 

package_dir = {'': 'src'},

packages = ['hyperscan'],

package_data = {'': ['*']},

ext_modules=[module1])

11、 输入python setup.py install命令进行python组件安装,提示安装失败,找不到hs_compile_lit_multi,

12、 在hs.def中增加导出函数hs_compile_lit_multi,重新编译hyperscan工程后再执行python组件安装脚本,安装成功

13、 成功执行python测试脚本表示安装成功,脚本如下:

import hyperscan

db = hyperscan.Database()print(db)

IMG_264

  • 执行成功
  • 审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 英特尔
    +关注

    关注

    61

    文章

    9922

    浏览量

    171597
  • WINDOWS
    +关注

    关注

    3

    文章

    3529

    浏览量

    88490
  • 编译
    +关注

    关注

    0

    文章

    654

    浏览量

    32825
  • python
    +关注

    关注

    56

    文章

    4785

    浏览量

    84514
收藏 人收藏

    评论

    相关推荐

    Windows编译工具CMake的安装和最简使用

    (Autosar工程已经很复杂,一般使用CMake来构建工程)。本文将介绍Windows编译工具CMake的安装和最简使用。
    的头像 发表于 11-14 10:18 7672次阅读
    <b class='flag-5'>Windows</b><b class='flag-5'>下</b><b class='flag-5'>编译</b>工具CMake的<b class='flag-5'>安装</b>和最简使用

    【WRTnode2R试用体验】安装python

    继《初识WRTnode2R》之后,应项目需求,安装pythonpython安装分为3步。第一步,在make menuconfig时选中核心组件
    发表于 11-09 20:22

    windows7怎样安装whl文件(python

    windows7怎样安装whl文件(python
    发表于 01-23 13:51

    windows安装python 在linux安装python 在masOS安装python

    、Brython、Pyston等版本,有兴趣的读者可以自行了解。Windows环境可以在Python官方网站下载到PythonWindows安装
    发表于 06-11 16:59

    uclinux上能否编译安装python

    uclinux可以编译安装python2.7.3吗,我在尝试用arm-v7-linux-uclibceabi- 交叉编译工具在ubuntu上编译
    发表于 01-12 07:12

    Windows环境GCC For ARM编译工具链的安装和使用

    本文以 N32L43x 为例,介绍了在 Windows 环境 GCC For ARM编译工具链的安装和使用。用户可参考本文档进行开发环境搭建、编译
    发表于 11-02 07:24

    windows平台下python安装与配置

    之前用的下面旧方法装好了opencv,重装系统后按照原来的方法重装了opencv,结果一直报错: ImportError: Module use of python27.dll conflicts
    发表于 11-29 03:49 6387次阅读
    <b class='flag-5'>windows</b>平台下<b class='flag-5'>python</b><b class='flag-5'>安装</b>与配置

    WINDOWSANACONDA的安装和简单使用.

    WINDOWSANACONDA的安装和简单使用.(数字电源技术及其应用 pdf)-WINDOWSANACONDA的
    发表于 09-18 12:58 9次下载
    <b class='flag-5'>WINDOWS</b><b class='flag-5'>下</b>ANACONDA的<b class='flag-5'>安装</b>和简单使用.

    WindowsAnaconda的安装和简单使用

    WindowsAnaconda的安装和简单使用(电镀直流电源技术要求)-WindowsAnaconda的
    发表于 09-18 14:47 11次下载
    <b class='flag-5'>Windows</b><b class='flag-5'>下</b>Anaconda的<b class='flag-5'>安装</b>和简单使用

    Windows利用Anaconda安装Tensorflow教程

    Windows利用Anaconda安装Tensorflow教程(深圳市澳科电源技术有限公司)-Windows利用Anaconda
    发表于 09-18 14:52 12次下载
    <b class='flag-5'>Windows</b><b class='flag-5'>下</b>利用Anaconda<b class='flag-5'>安装</b>Tensorflow教程

    windows11如何安装python3教程

    本文以windows11,64位操作系统为例,介绍python3.10.6版本的安装步骤。
    的头像 发表于 02-23 14:57 4005次阅读
    <b class='flag-5'>windows</b>11如何<b class='flag-5'>安装</b><b class='flag-5'>python</b>3教程

    如何安装Python解释器

    安装Python解释器是搭建Python编程环境的第一步。Python解释器是Python编程语言的核心
    的头像 发表于 04-14 12:08 5351次阅读

    如何在Windows使用 Supervisor 重新拉起崩溃的Python程序

    使用 Supervisor 重新拉起崩溃的Python程序。 1.准备 开始之前,你要确保Python和pip已经成功安装在电脑上,如果没有,可以访问这篇文章: 超详细
    的头像 发表于 10-21 11:23 3225次阅读
    如何在<b class='flag-5'>Windows</b><b class='flag-5'>下</b>使用 Supervisor 重新拉起崩溃的<b class='flag-5'>Python</b>程序

    windows7可以安装python什么版本

    Windows 7可以安装多个Python版本,以下是适用于Windows 7的常见Python版本:
    的头像 发表于 11-23 17:15 2.9w次阅读

    查看python安装路径的方法

    如何查看Python安装路径,以及各个操作系统的细节和注意事项。 一、Windows操作系统查看Py
    的头像 发表于 11-29 14:54 1.1w次阅读