windows组件怎么安装
什么是Hyperscan:
hyperscan 是英特尔推出的一款高性能正则表达式引擎,一次接口调用可以实现多条规则与多个对象之间的源码匹配,可以支持多种匹配模式,源码块模式和流模式,源码它是源码以PCRE为原型开发,并以BSD许可证开源。源码超跌源码公式
使用时分2步来实现:
第1步:对规则集进行预编译,源码编译时可以指定规则集类型的源码参数:正则表达式或文本模式。第2步:利用编译好的源码规则集进行匹配,匹配时可以指定为块模式或流模式。源码另外需要注意的源码是x版本和arm版本的源代码是有区别的,官网下载x版本(github.com/intel/hyper…)无法在arm平台中编译通过,源码arm版本下载地址(github.com/tqltech/hyp…)。源码亿家直播源码
下面以在windows X平台为例来讲解hyperscan python组件的源码编译安装方法:
1、 下载和解压hyperscan-5.4.0。源码
2、 在powershell下创建build目录,执行cd build。
3、 输入cmake -G命令,查看-G支持的类型列表。
4、 输入cmake -G “Visual Studio Win” -DBUILD_SHARED_LIBS=on …/命令。
提示命令执行失败,需要指定BOOST_ROOT参数
5、转阅系统源码 下载boost源代码,解压到hyperscan目录中。
6、 输入cmake -G “Visual Studio Win” -D BOOST_ROOT=%cd%/…/boost_1__0/ -DBUILD_SHARED_LIBS=on …/命令。
提示缺少PCRE和sqlite3
7、 下载PCRE、sqlite源代码并解压到hyperscan目录中。
8、 输入cmake -G “Visual Studio Win” -D BOOST_ROOT=%cd%/…/boost_1__0/ -DBUILD_SHARED_LIBS=on -D PCRE_SOURCE=%cd%/…/pcre-8./ …/命令,命令执行成功,build目录下生成一系列的vs工程文件。
9、跟板网源码 输入cmake –build .命令执行编译,编译成功后分别在bin、lib目录下生成一系列文件。
bin目录列表
lib目录列表
、 下载hyperscan python源代码(pypi.org/project/hyp…) ,原来的setup.py无法在windows下安装成功,需要修改setup.py文件内容如下:
# -*- coding: utf-8 -*-from distutils.core import *module1 = Extension("hyperscan.hyperscan", include_dirs =
, libraries =
, library_dirs =
, extra_compile_args =
, extra_link_args =
, sources =
)setup( name="hyperscan", #打包文件名称 库说明文件的文件名 version="0.2.0", package_dir = { '': 'src'}, packages =
, package_data = { '':
}, ext_modules=
)复制代码
、 输入python setup.py install命令进行python组件安装,提示安装失败,找不到hs_compile_lit_multi。
、 在hs.def中增加导出函数hs_compile_lit_multi,69源码代下重新编译hyperscan工程后再执行python组件安装脚本,安装成功。
、 成功执行python测试。脚本表示安装成功,脚本如下:
import hyperscandb = hyperscan.Database()print(db)复制代码
执行成功
可以试试下面的漏扫服务,看看系统是否存在安全风险
阿里云主机源码编译安装python3常见错误处理
源码编译安装python3时,可能遇到的常见错误及其解决方法如下: 在运行应用时,可能遇到如下异常错误:import _ssl报错,ModuleNotFoundError: No module named '_ssl';从smtplib导入SMTP_SSL报错,ImportError: cannot import name 'SMTP_SSL' from 'smtplib';使用sqlite3数据库报错,django.db.utils.NotSupportedError: deterministic=True requires SQLite 3.8.3 or higher。 上述错误发生的原因通常是系统内置的软件工具版本与python解释器依赖的版本不匹配。例如,openssl1.0.2版本可能是阿里云主机默认安装的版本,而python3.可能要求更高的openssl版本。sqlite3数据库报错信息也明确指出内置的sqlite3版本不符合python3.的版本要求。 在python版本无法降级的情况下,解决这些问题的办法是升级对应工具的版本。但需要注意的是,升级后必须重新编译安装python3,否则问题仍然存在。接下来将详细介绍openssl升级、sqlite3升级、源码编译安装python3的步骤以及重新编译python3所需的清理命令。 具体步骤如下: 升级openssl版本:选择与python3.版本匹配的openssl1.1.1。 升级sqlite3版本:以sqlite3..3版本为例介绍升级步骤。 重新编译清理命令:假设python3源码包解压后存放在Python-3..0目录中,编译安装路径为/usr/local/python3.(路径根据实际情况调整)。重新编译安装清理操作命令如下: 具体源码编译python3.步骤如下:pythonè½ç微信记å½å
pythonæ¯ä¸ç§ç¼ç¨è¯è¨ï¼å®çè®°å½æä¹çãåºè¯¥æ¯è¯´è½ä¸è½ç¨å®å个ç¨åºï¼ç¨æ¥çè®°å½ãè¿ä¸ªå¨ç论ä¸æ¯å¯ä»¥çï¼
AnkiDroid服务器和客户端的源码搭建过程
在Ubuntu .系统中,我们首先需要安装Python 3.版本的环境。
接着,参考官方文档进行Anki客户端的安装依赖与运行。在遇到问题时,可以通过指定链接找到解决办法。
首先,下载并解压官方提供的pa_stable_v_.tgz文件,然后进入解压后的文件夹执行命令:$ ./configure,$ make,$ make install,以安装必要的依赖库。
对于遇到的问题,可以通过另一个指定链接找到解决方案。确保已安装libasound-dev, portaudio-dev, libportaudio2, libportaudiocpp0等依赖库。
之后,重新编译Python3。首先进入Python-3.6.3安装源目录,执行命令:$ sudo ./configure --enable-optimozations,$ sudo make -j8,$ sudo make install。验证安装是否成功,可通过执行$ python3并输入import sqlite3命令来实现。
对于Anki服务器的安装与运行,参考指定的文档。注意这是针对Anki2.1客户端的服务器,而Anki2.0的服务器依赖与此类似。
在Add-on文件夹下创建名为ankisyncd的文件夹,并在此文件夹中创建并编辑__init__.py文件。确保文件中不含汉字,保存为utf-8格式。这一步骤为Anki服务器的设置关键步骤。
djangoå¦ä½å®è£ mysqlï¼
导读ï¼ä»å¤©é¦å¸CTOç¬è®°æ¥ç»åä½åäº«å ³äºdjangoå¦ä½å®è£ mysqlçç¸å ³å 容ï¼å¦æè½ç¢°å·§è§£å³ä½ ç°å¨é¢ä¸´çé®é¢ï¼å«å¿äºå ³æ³¨æ¬ç«ï¼ç°å¨å¼å§å§ï¼å¦ä½å¨Django1.6ç»åPython3.4çæ¬ä¸ä½¿ç¨MySqlå ³äºDjango1.6ä¸DATABASESç设置ä¹æ¯ä¸æ ·ä¸ç¨åä»»ä½ä¿®æ¹ï¼è·ä»¥åMySQLdbçæ¶åä¸æ ·ï¼å¦ä¸æ示ï¼1DATABASES={ 2'default':{ 3'ENGINE':'django.db.backends.mysql',#æ°æ®åºå¼æ4'NAME':'test',#æ°æ®åºå5'USER':'root',#ç¨æ·å6'PASSWORD':'root',#å¯ç 7'HOST':'',#æ°æ®åºä¸»æºï¼é»è®¤ä¸ºlocalhost8'PORT':'',#æ°æ®åºç«¯å£ï¼MySQLé»è®¤ä¸º'OPTIONS':{ 'autocommit':True,},}}æå ³é®çä¸ç¹ï¼å¨ç«ç¹ç__init__.pyæ件ä¸ï¼æ·»å å¦ä¸ä»£ç ï¼1importpymysql2pymysql.install_as_MySQLdb()åå®ä¸è¿°å¨ä½åï¼å³å¯å¨djangoä¸è®¿é®mysqläºã
django1.æä¹å®è£ mysql
使ç¨MySQLå®æ¹çmysql.connector模å
å®è£ mysql.connector模å
#å»mysql.comå®ç½ä¸ä¸è½½å 并解å
#cdå°è§£åæ件çæ ¹ç®å½ï¼è¯¥ç®å½ä¸åºè¯¥æä¸ä¸ªsetup.pyçæ件ï¼
pythonsetup.pyinstall
djangoæä¹ä½¿ç¨æ¬æºmysqlæ°æ®åºstep1:
ä¿®æ¹ä½ çdjangoprojectç®å½ä¸çsettings.pyæ件è³å¦ä¸æ示ï¼
å ¶ä¸ï¼'NAME'对åºçâdb_name'æ¯ä½ äºå 使ç¨mysql
çå½ä»¤è¡æ示符å建çæ°æ®åºå称ã注æï¼å¨django使ç¨æ°æ®åºä¹åï¼ä½ å¿ é¡»å å建åºæ°æ®åºï¼å¦åä¼æ¥éã'USER'对åºç'username'
è¿æ'PASSWORD'对åºçâpasswd'
å°±æ¯ä½ å¨mysqlä¸å建çç¨æ·ååå¯ç ãå¦æä½ æå¤ä¸ªçè¯ï¼é便填ä¸ä¸ªå°±å¥½ã'HOST'å'PORT'é»è®¤é½å¯ä»¥ä¸å¡«ã
é¢å¤è¯ï¼ä½¿ç¨ç¨æ·ååå¯ç ç»å½mysqlçæ¹æ³ï¼
é¦å ï¼ä½ éè¦è¿å ¥mysql/binçç®å½ä¸ï¼ä¹å¯ä»¥å¨.bash_profileä¸è®¾ç½®ç¯å¢åéï¼
PATH=/usr/local/bin:/usr/bin:/bin:/sbin:/usr/sbin:/usr/local/sbin:/usr/local/Cellar/mysql/5.6./bin/
åå¨promptè¾å ¥mysql-uusername-p,å车ååè¾å ¥passwdå³å¯
step2:
ç¶åï¼å¨manage.pyè·¯å¾ä¸ä½¿ç¨pythonmanage.pysyncdbè¯è¯ï¼ç»æä¼æç¤ºä½ é误æ¾ä¸å°MySQLdbè¿ä¸ªmodule,为ä»ä¹å¢ï¼å 为pythonmanage.pysyncdbå½ä»¤æ¯è¿æ ·å·¥ä½çï¼
1.å¨projectç®å½çsettings.pyçINSTALLED_APPSå ç»ä¸æ¾å°å¯è½éè¦æ´æ°çAPPã
2.æ¾å°æ¯ä¸ä¸ªAPPç®å½ä¸çmodels.py(å ³ç³»å®ä¹æ件)ï¼å¹¶é对ååå¨æ°æ®åºä¸è¿è¡æ´æ°ã
说äºè¿ä¹å¤ï¼åé¢é£ä¸ªé误æ¾ä¸å°moduleMySQLdbæ¯ä»ä¹ææåï¼
å ç»ä¸ªå¾ï¼å解éï¼
å 为å¨models.pyä¸å®ä¹å ³ç³»ä½¿ç¨çæ¯pythonï¼èçæ£å¨æ°æ®åºä¸æä½å½¢æmodelå½ç¶ä¸å®è¦ç¨sqlè¯å¥ï¼æä»¥å¿ é¡»è¦æä¸äºåè½æ¨¡å
æ¥æpythonè¯å¥è½¬åæsqlè¯å¥ãå¦æä½ ä½¿ç¨sqliteçè¯ï¼ç±äºsqliteå转å模åé½å·²ç»ç±pythonå ç½®äºï¼æ以ç´æ¥ä½¿ç¨ä¸ä¼åçé
误ãä½æ¯âmysqlè¯å¥ç转å模åâå°±éè¦ä½ æå¨å è½½äºï¼è¿äºæ¨¡åæ¾å¨MySQL-pythonä¸ã
ææ¯ä½¿ç¨pipå®è£ çï¼
å®è£ äºä¹åï¼å使ç¨pythonmanage.pysyncdbå°±OKå¦ã
æ使ç¨çç³»ç»æ¯OSXï¼ä¸é¢æ¯mysqlé»è®¤çå®è£ è·¯å¾
/usr/local/Cellar/mysql/5.6./
å¦æä½ æ³ç¥éä½ çæ°æ®åºæ件æ¯æ¾å¨åªéçï¼ä½ å¯ä»¥æ¥çmysql_configæ件ä¸çldataåéï¼è¿ä¸ªåéçå¼å°±æ¯é»è®¤çæ°æ®åºæ件夹åå¨çè·¯å¾ãæçç³»ç»ä¸ï¼mysql_configçå®æ´è·¯å¾æ¯ï¼
/usr/local/Cellar/mysql/5.6./bin/mysql_config
å¦ä½å°djangoä¸çsqlite3æ¢æmysqldjango
æ°æ®åºä½¿ç¨ï¼sqlite3åmysqlï¼
ä¸ãsqlite3
使ç¨
1ãimport
sqlite3
确认系ç»ä¸æ¯å¦å®è£
2ãè¿å ¥å½å项ç®ç®å½ï¼cmdåè¿è¡pythonï¼è¿å ¥å½ä»¤è¡æ¨¡å¼
3ãimport
sqlite3,
sqlite3.connect('{ path\name.db}')
#大æ¬å·å 表示èªå®ä¹ï¼çå®æ åµæ²¡æ大æ¬å·
4ãä¿®æ¹settings.pyæ件
DATABASES
=
{
'default':
{
'ENGINE':
'django.db.backends.sqlite3',
'NAME':
{ path\name.db}',
'USER':
'',
'PASSWORD':
'',
'HOST':
'',
'PORT':
'',
}
}
5ãè¿å ¥æ°æ®åºæ件çé¢ï¼è¿è¡python
manage.py
shell
from
django.db
import
connection
cur
=
connection.cursor()
å¦æ没æ¥éï¼å表示é ç½®æå
6ãä¿®æ¹models.pyæ件ï¼é ç½®èªå·±ç表
ä¾å¦ï¼
from
django.db
import
models
from
django.contrib
import
admin
#
Create
your
models
here.
class
BlogPost(models.Model):
title
=
models.CharField(max_length
=
)
body
=
models.TextField()
timestamp
=
models.DateTimeField()
class
Meta:
ordering
=
['-timestamp']
7ãå建æ°æ®åºå 容
python
manage.py
syncdb
æ ¹æ®æ示è¾å ¥ï¼è¡¨ç¤ºè¿æ¥æå
注ï¼ä»¥ä¸åªè¡¨ç¤ºå¯¹æ°æ®åºçå建ï¼è¿æ¥å使ç¨ï¼ä¸å å«å ¶å®å 容ã
äºãmysql
1ã确认å®è£ mysqlæ°æ®åº
2ãå¨mysqlä¸å建æ°æ®åº
å½ä»¤æ¨¡å¼ä¸å¯ä»¥ä½¿ç¨
CREATE
DATABASE
{ name}
DEFAULT
CHARSET=utf8;
3ãä¿®æ¹settings.pyæ件
DATABASES
=
{
'default':
{
'ENGINE':
'django.db.backends.mysql',
'NAME':
'{ name}',
'USER':
'{ username}',
'PASSWORD':
'{ password}',
'HOST':'localhost',
#ip
'PORT':'',
}
}
4ãä¿®æ¹models.pyæ件ï¼é ç½®èªå·±ç表
ä¾å¦ï¼
from
django.db
import
models
from
django.contrib
import
admin
#
Create
your
models
here.
class
BlogPost(models.Model):
title
=
models.CharField(max_length
=
)
body
=
models.TextField()
timestamp
=
models.DateTimeField()
class
Meta:
ordering
=
['-timestamp']
5ãå建æ°æ®åºå 容
python
manage.py
syncdb
æ ¹æ®æ示è¾å ¥ï¼è¡¨ç¤ºè¿æ¥æå
å¦ä½å¨Django1.7ç»åPython3.4çæ¬ä¸ä½¿ç¨MySql1ï¼å®è£ python_to_mysqlå
2ï¼å¨settings.pyéé¢é ç½®MySQLè¿æ¥ï¼
ç¶åå°±å¯ä»¥ç¨äºï¼æ³æ´å¥½çå¦ä¹ pythonè¯·å ³æ³¨å¾®ä¿¡å ¬ä¼å·âPythonåºç¡æç¨âï¼
macosx.7æä¹æ建djangomysqlç¯å¢æä½ç³»ç»ï¼LinuxCentOS5/MaxOSX.6snowleopard
ç¸å ³ç¯å¢ï¼Python2.6.4;MySQL5.1.
å®è£ çæ¬ï¼MySQL-python-1.2.3c1
æ¹æ³/æ¥éª¤
é¦å è¦ä¸è½½ä¸è½½ï¼è¯·å°å®æ¹ç½ç«
解åï¼tarzxvfMySQL-python
*è¿å ¥æ件ç®å½ï¼è¿è¡ä»¥ä¸å½ä»¤ï¼sudopythonsetup.pyinstall
å®è£ å®æï¼å°ä½ çpythonå®è£ ç®å½ä¸çsite-packagesç®å½éæ£æ¥ä»¥ä¸æ件æ¯å¦åå¨ï¼å¦æåå¨å³ä»£è¡¨å®è£ æåäºLinuxï¼MySQL_python-1.2.3c1-py2.6-linux-i.eggMacOSXï¼MySQL_python-1.2.3c1-py2.6-macosx-.4-x_.egg注ï¼å¦æ碰å°mysql_confignotfoundçé®é¢ï¼æ两ç§æ¹æ³è§£å³ï¼1ï¼sudoln-s/usr/local/mysql/bin/mysql_config/usr/local/bin/mysql_configå°mysql_confiä»ä½ çå®è£ ç®å½é¾æ¥å°/usr/local/binç®å½ä¸ï¼è¿æ ·å°±å¯ä»¥å¨ä»»æç®å½ä¸è®¿é®äºï¼ä¹å¯ä»¥æ¾å°/usr/binï¼2ï¼ç¼è¾æºç æ件夹çsite.cfgæ件ï¼å»æ#mysql_config=/usr/local/bin/mysql_configåç注éï¼ï¼ä¿®æ¹åé¢çè·¯å¾ä¸ºä½ çmysql_configçæ£çç®å½å°±å¯ä»¥äºãï¼å¦æä¸ç¥émysql_configå¨åªéï¼è¿è¡å½ä»¤ï¼whereismysql_configï¼
æµè¯æ¹æ³1ï¼è¿è¡å½ä»¤pythonè¿å ¥pythonè¿è¡ç¯å¢2ï¼è¾å ¥ä»¥ä¸python代ç è¿è¡æµè¯importMySQLdbtest=MySQLdb.connect(db='mydb',host='myhost',user='u',passwd='p')cur=test.cursor()cur.execute('showdatabases;')fordataincur.fetchall():printdata3ï¼å¦æä½ å¨å±å¹ä¸çå°äºä½ å 个æ°æ®åºçåºåçè¾åºä»£è¡¨ä½ å®è£ æåäº
å¯è½ç¢°å°çé®é¢1ï¼é®é¢ï¼ImportError:libmysqlclient_r.so.:cannotopensharedobjectfile:Nosuchfileordirectoryåå æ¯pythonæ æ³æ¾å°mysqlç®å½ä¸çlibmysqlclient_r.so.å¨æåº,å ¶å®MySQLdbæ¯è°ç¨mysqlçcå½æ°åº.æ以æ¬æºä¸é¦å å¾å®è£ äºmysqlç¶å:exportLD_LIBRARY_PATH=/usr/local/mysql/lib/mysql:$LD_LIBRARY_PATH并ä¸å°/usr/local/mysql5.1/lib/mysqlæ¾å ¥/etc/ld.so.confä¸/etc/ld.so.confæ¹åå 容为ï¼includeld.so.conf.d/*.conf/usr/local/mysql5.1/lib/mysql
7
ldconfigæåéæ°åæµè¯ä¸ä¸ï¼å°±ä¸ä¼æä¸é¢çé®é¢äº
ç»è¯ï¼ä»¥ä¸å°±æ¯é¦å¸CTOç¬è®°ä¸ºå¤§å®¶æ´ççå ³äºdjangoå¦ä½å®è£ mysqlçç¸å ³å 容解çæ±æ»äºï¼å¸æ对æ¨ææ帮å©ï¼å¦æ解å³äºæ¨çé®é¢æ¬¢è¿å享ç»æ´å¤å ³æ³¨æ¤é®é¢çæååï½
2024-12-23 06:57
2024-12-23 06:36
2024-12-23 05:14
2024-12-23 04:48
2024-12-23 04:18