pytest 问题记录

综述:问题来源于Mac或是Linux,仅供参考

1.pytest在cmd执行的时候报错找不到该命令,但是已经用sudo pip3 install -U pytest  和   pip3installpytest -ihttp://pypi.douban.com/simple/--trusted-host pypi.douban.com  安装成功。(MAC)

解决办法:在执行sudo pip3 install -U pytest时会提示

Requirement already satisfied, skipping upgrade: more-itertools>=4.0.0 in /Users/sort/Library/Python/3.7/lib/python/site-packages (from pytest) (8.4.0)

进入site-packages下面,删除与pytest相关的所有目录文件:rm -rf ./pytest*

然后重新执行安装命令即可

2.在执行pytest时,类报错找不到文件目录from libs.BaseTest import BaseTest     E  ModuleNotFoundError: No module named 'libs'

解决办法:文件头添加代码

import sys

import os

curPath = os.path.abspath(os.path.dirname(__file__))  //获取当前目录绝对路径

rootPath = os.path.split(curPath)[0]//获取上一级目录的绝对路径

sys.path.append(rootPath)//将模块路径添加到程序中

理解:当我们导入一个模块时:import  xxx,默认情况下python解析器会搜索当前目录、已安装的内置模块和第三方模块,搜索路径存放在sys模块的path中。

所以当报错找不到某个模块的时候,有两种解决方式,一种如上。这种方法是运行时修改,脚本运行后就会失效的。另外一种方法是将项目路径写入系统环境变量中。

vim ~/.bash_profile

.bash_profile

我选择第一种方法,原因是工程经常会被迁移部署到不同机器。参考:https://blog.csdn.net/cqbamboo/article/details/103012429

你可能感兴趣的:(pytest 问题记录)