2. 安装

2.1. 所需环境

analog 使用了以下开源库以及组件:

2.2. 安装步骤

不同操作系统可能会有些许差别,因为是python开发,故主要的差别还是在数据库的配置上。

2.2.1. Linux

2.2.1.1. python依赖安装

Linux自带python,而 analog 需要在python3.x上运行,推荐版本为python3.6。
查看当前python版本:
$ python3 -V

确保python版本符合后安装所需依赖库:

python3 -m pip install -r requirements.txt

安装结束之后,就可以进入 下一章 ,对配置文件进行配置了。

2.2.1.2. (可选)mysql

Note

当我们在配置文件中配置数据库类型为mysql时,我们需要安装mysql环境才能正常使用。否则我们将使用python自带的sqlite库进行数据存储,对于较大的日志可能会有性能影响,请依照实际情况进行数据库类型的选择。

推荐安装mysql 5.6、5.7版本,因为高版本的本地连接数据库需要经过一些配置,并且在执行sql语句时会产生一些限制。
若不想倒腾,可默认安装系统源自带的mysql:
# ubuntu
$ sudo apt-get update
$ sudo apt-get install msyql-server
$ sudo mysql_secure_installation
$ systemctl status mysql.service

# centos 7
$ sudo yum update
$ sudo yum install msyql mysql-server
$ service mysqld start

安装完毕后查看mysql是否正确运行。

# ubuntu
$ service mysql status
# centos 7
$ service mysqld status

请确保使用正确的密码可以进行本地登录,若出现正确密码也无法登录的情况:

Access denied for user 'root'@'localhost' (using password: YES)'
如果mysql版本是较高版本,比如mysql5.7.9、mysql8,则会出现执行查询语句中包含GROUP时会与sql_mode=only_full_group_by不兼容的情况。
Exception: (1055, "Expression #3 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'WebLog_Analysis.weblog.time' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by")
解决办法参考链接: stackoverflow-disable-only-full-group-by
而我的办法是在my.cnf中添加sql_mode。
# [/etc/mysql/my.cnf] or [/etc/my.cnf]
[mysqld]
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

然后重启mysql服务即可。


2.2.2. Windows

2.2.2.1. python依赖安装

安装python依赖库 numpyscikit-learn 需要管理员权限,在执行安装命令前请用管理员权限打开命令行窗口:

py -3 -m pip install -r requirements.txt

同样的,安装结束之后,就可以进入 下一章 ,对配置文件进行配置了。

2.2.2.2. (可选)mysql

Note

当我们在配置文件中配置数据库类型为mysql时,我们需要安装mysql环境才能正常使用。否则我们将使用python自带的sqlite库进行数据存储,对于较大的日志可能会有性能影响,请依照实际情况进行数据库类型的选择。

Windows下的安装可能会稍微麻烦些,主要是因为需要额外的安装一些环境所需的编译开发工具/组件。
对于开发者来说,Windows一般都会自带一些开发环境,我比较推荐集成开发环境 Wampserver ,这类的集成式开发环境会极大减少你的安装时间成本,安装时勾选安装mysql即可。

Note

个别版本的windows可能会出现msvcr110.dll等缺失的情况,请自行到 https://www.microsoft.com/zh-CN/download/details.aspx?id=30679 下载对应的C++开发组件