TypeError:attrib()获得了意外的关键字参数“转换”


55

在使用CI对CI服务器上的python项目进行自动化测试期间,发生了此错误pytest。我正在使用pytest==4.0.2。这个错误才刚刚开始发生,以前的管道似乎工作正常。

完整错误:

File "/usr/local/lib/python3.7/site-packages/_pytest/tmpdir.py", line 35, in TempPathFactory
    lambda p: Path(os.path.abspath(six.text_type(p)))
TypeError: attrib() got an unexpected keyword argument 'convert'

请添加您的代码或准备最少的示例。
Artem Vovsia

Answers:


96

pytest似乎将软件包attrs作为依赖项。attrs==19.2.0被释放了2019-10-01 17:00 UTC。这似乎导致上述问题。

切换回以attrs==19.1.0解决此问题。只需执行以下操作:

pip install attrs==19.1.0

:我希望,这个问题将被解决两种attrspytest很快发布新版本。因此,此修复程序应该只是临时的。

更新:将评论移到答案中。较新版本的pytest不会发生此错误,即pytest==5.2.0


7
我确认,最好的措施是将其更新pytest为最新版本。
Guillaume Lebourgeois

2
我认为=版本固定中缺少符号。应该是pip install --upgrade attrs==19.1.0
logc


4

pytest版本5.3.1和attrs版本19.3.0对我来说很好用。[要检查pytest版本和attrs版本,请发出以下命令:]

pip show pytest attrs

我通过通过pip命令升级pytest模块解决了相同的问题:

pip install -U pytest
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.