win 10安装fastrunner踩坑
偶然接触到fastrunner的自动化测试框架,觉得有点意思,想从头学习一下,部署环境,从头到尾,踩了些坑,记录一下:
一、安装
参考了这个博客:https://blog.csdn.net/weijiaxin2010/article/details/90080075。
有一些踩坑如下:
1.如果只是在本地部署,没有办法公开本机的真实ip,涉及到前端的ip更改,全部用localhost代替即可。
2.后台的requirements.txt文件中,具体内容订正如下:
Django == 2.1.3 django-cors-headers == 2.4.0 djangorestframework == 3.8.2 HttpRunner == 1.5.15 mysqlclient == 1.4.2.post1 beautifulsoup4 == 4.6.3 tornado == 5.1.1 django-celery == 3.2.2
我使用的是anaconda来作为包管理工具,新建虚拟环境,然后激活环境后,使用pip install -r requirements.txt安装依赖库,非常方便
3.安装过程中,在安装 anyjson>=0.3.3的时候报错了,报错如下:
网上百度了一下,原因是在setuptools 58之后的版本已经废弃了use_2to3,解决办法是:只需安装setuptools 低于58版本就可以了
pip install setuptools==50.3.2
降低setuptools 版本后,pip 安装anyjson==0.3.3就不会报错了
4.安装mysqlclient的时候报错
提示找不到文件
百度了,提示说要手动去下载mysqlclient的轮子,我查看了我本机的python是64位的,于是从官网下载了安装包
https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient
然后手动pip install 安装包来安装。
至此,发现requirements.txt里面还有错误,mysqlclient的版本更改成1.4.6即可(我本机python用的3.9版本)
5.在生成数据库迁移脚本时报错,提示from jinja2 import escape时报错,如下:
网上百度,说在jinja2在3.1.0版本开始,就已经删除了escape模块,所以导入不了,我查看了本机的jinja2版本,确实是高于3.1.0的。(pip show jinja2)
解决方法是在requrements.txt中限制jinja2的版本<3.1.0
jinja2<3.1.0
重新安装一遍jinja2,数据库迁移通过。
6.执行数据库迁移脚本出错,原因是mysql.server没有正确配置以及启动。启动时遇到的密码的问题,百度解决的
参考了以下文档:https://blog.csdn.net/baidu_39629638/article/details/114335371
配置完数据库后,导入数据时,还有一个问题,导致导入失败,出现错误:
百度原因,是说目前最新的mysql8.0对用户密码的加密方式为caching_sha2_password, Django暂时还不支持这种新增的加密方式。所以只需要将用户加密方式改为老的加密方式即可。
解决方案: 1.登录mysql, mysql -u root -p 2.执行命令查看加密方式 use mysql; select user,plugin from user where user=‘root’; 3.执行命令修改加密方式 alter user ‘root’@‘localhost’ identified with mysql_native_password by ‘你的密码’;
注意此处的新密码,需要和django中的setting.py中数据库配置的密码保持一致。
参考文档:https://blog.csdn.net/qq_45720042/article/details/116459962
至此
终于安装部署完成。