之前在搭建httprunnermanager环境的时候碰到了不少坑,这篇文章就是介绍一下自己碰到的坑以及解决办法,希望可以帮助到碰到同样问题的同学们。
本文来自Qtest之道。
首先,搭建环境需要python环境以及安装mysql数据库服务端和安装rabbitmq消息中间件,这在安装rabbitmq之后需要先安装erlang,这个在网上有相关教程,需要注意的时候erlang的版本和rabbitmq要兼容,否则可以导致rabbitmq安装失败。
1.版本的选择:搭建httprunnermanager需要python环境,python的版本最好使用3.0以上的版本,因为在之后要使用到django这个模块,这个时候2.x版本相对应的django版本对于作者代码的兼容有一定的问题,所以为了避免问题,使用3.0以上的版本最好。
2.RabbitMQ的web管理界面无法使用guest用户登录问题:在使用guest登录的时候提示(user can only log in via localhost)这是因为rabbitmq在3.3.0版本引入了一个安全机制,用于guest账号是默认账号,有具有所有的操作权限,所以为了安全起见,guest账号只可以通过localhost登录使用,所以这个时候需要新增一个用户,然后用新增的这个用户登录,就可以成功登录了。
3.django版本的选择:安装django模块的时候,默认安装的是版本是1.11.15,但是作者用的版本比这个高,存在兼容问题,所以需要安装更高的版本,我安装的是2.1.1版本,在安装的时候pip install django==2.1.1就行。
4.djcelery模块安装问题:由于环境需要安装jdcelery模块,但是当你pip install djcelery的时候会提示找不到该模块,会有如下图的提示,这个时候可以使用命令pip install django-celery安装,就可以解决这个问题。
5. mysqlclient模块安装问题:当安装mysqlclient模块的时候会提示如下图的问题,这个时候可以通过下载visualc++来解决,如果感觉这个方法比较麻烦,可以网上找whl文件来直接安装,但是需要注意的是whl文件的版本需要和python的版本相对应。这个网站(
https://www.lfd.uci.edu/~gohlke/pythonlibs/)里边有各种python模块的安装文件,如有需要可以参考。
因为该环境需要连接数据,在搭建的时候报如下图的错误,指出是数据库的字符编码不正确,需要将数据库的字符编码设置成utf8,以下有列出两种方法解决该问题。
方法一:在创建数据的时候直接设置好要创建数据的字符编码。
方法二:如果已经创建数据库,这个时候可以通过命令(show variables like ‘%char%’;)查看数据库的详细编码,如下图,然后通过命令(set character_set_database=utf8)来进行相应的数据库字符编码的修改。
7.数据库无法访问问题:在调试的报如下图的错误,这个是因为数据库不允许远程访问,所以需要在数据库里边设置一下,我使用的方法如下:
mysql -u root -p
mysql>use mysql;
mysql>update user set host = ‘%’ where user = ‘root’;
mysql>select host, user from user;
最后执行FLUSH PRIVILEGES; 是为了刷新MySQL的权限相关表。
8.yaml模块安装问题:在安装yaml模块的时候提示无法找到如下图:
这个时候可以使用pip install pyyaml命令来解决这个问题,如图。