综述:问题来源于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
网友评论