Este erro ocorreu durante o teste automatizado de um projeto python no servidor de CI usando pytest
. Estou usando pytest==4.0.2
. Este erro apenas começou a ocorrer, os pipelines anteriores parecem funcionar bem.
O erro completo:
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'
Respostas:
pytest
parece ter o pacoteattrs
como uma dependência.attrs==19.2.0
foi lançado por aí2019-10-01 17:00 UTC
. Isso parece causar o problema acima.Voltar para
attrs==19.1.0
corrigir o problema. Faça o seguinte:NOTA : Espero que o problema seja resolvido por
attrs
ou empytest
breve, lançando uma nova versão. Portanto, essa correção deve ser apenas temporária.UPDATE : Movendo o comentário para a resposta. Este erro não ocorre nas versões mais recentes do pytest, isto é,
pytest==5.2.0
fonte
pytest
para uma versão mais recente.=
sinal na fixação da versão. Deveria serpip install --upgrade attrs==19.1.0
pytest corrigido usando a palavra
convert
- chave obsoleta em 3.6.3 ( https://docs.pytest.org/en/latest/changelog.html#pytest-3-6-3-2013-07-04 ). Na 4.0.1, o pytest mesclou o código usandoconvert
( https://github.com/pytest-dev/pytest/pull/4427 ). Este código foi corrigido no 5.2.0 ( https://github.com/pytest-dev/pytest/pull/4795 ).fonte
pytest versão 5.3.1 com attrs A versão 19.3.0 funciona bem para mim. [Para verificar a versão pytest e attrs Version, execute o seguinte comando:]
Resolvi o mesmo problema atualizando o módulo pytest via comando pip:
fonte