Este error ocurrió durante la prueba automatizada de un proyecto de Python en el servidor CI usando pytest. Estoy usando pytest==4.0.2. Este error recién comenzó a ocurrir, las canalizaciones anteriores parecen funcionar bien.

El error 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'
55
nitred 1 oct. 2019 a las 20:27

3 respuestas

La mejor respuesta

pytest parece tener el paquete attrs como una dependencia. attrs==19.2.0 se lanzó alrededor de 2019-10-01 17:00 UTC. Esto parece causar el problema anterior.

Volver a attrs==19.1.0 soluciona el problema. Solo haz lo siguiente:

pip install attrs==19.1.0

NOTA : espero que el problema se resuelva ya sea attrs o pytest pronto lanzando una nueva versión. Entonces, esta solución solo debe ser temporal.

ACTUALIZACIÓN : Mover el comentario a la respuesta. Este error no ocurre en las versiones más recientes de pytest, es decir, pytest==5.2.0

77
nitred 14 nov. 2019 a las 13:35

Pytest corregido utilizando la palabra clave obsoleta convert en 3.6.3 (https://docs.pytest.org/en/latest/changelog.html#pytest-3-6-3-2018-07-04). En 4.0.1, pytest fusionó el código usando convert (https: // github. com / pytest-dev / pytest / pull / 4427). Este código se corrigió en 5.2.0 (https://github.com/pytest-dev/ pytest / pull / 4795).

7
Atsushi Odagiri 2 oct. 2019 a las 09:26

Pytest versión 5.3.1 con attrs La versión 19.3.0 funciona bien para mí. [Para verificar la Versión de pytest y la Versión de attrs, emita el siguiente comando:]

pip show pytest attrs

Resolví el mismo problema actualizando el módulo pytest mediante el comando pip:

pip install -U pytest
1
iun1x 13 dic. 2019 a las 02:26
58189683