OSX系统ZSH终端运行pytest-xdist报错:zsh: no matches found: 3*popen
解决ZSH下pytest xdist
3*popen 报错问题 我之前在ZSH环境里用xdist跑pytest的时候也踩过这个坑!问题出在ZSH的通配符自动扩展特性上——它会把命令里的*当成文件匹配符,去当前目录下找名字以3开头、以popen结尾的文件,找不到就抛出no matches found: 3*popen的错误,根本没把这个参数正确传递给pytest。
给你两个简单的解决办法:
方法一:转义通配符
用反斜杠\把*转义,告诉ZSH不要解析这个符号,直接原封不动传给pytest:pytest --tx 3\*popen --dist=load方法二:用单引号包裹参数
把包含*的参数放在单引号里,ZSH不会解析单引号内的特殊字符:pytest --tx '3*popen' --dist=load
顺带提一句,如果你之后需要用更复杂的xdist参数(比如指定Python版本的2*popen//python=python3),同样可以用这两种方法处理,避免ZSH的通配符干扰。
内容的提问来源于stack exchange,提问作者Vadim Kovrizhkin
相关产品推荐
相关产品推荐

