Este error ocurrió durante la prueba automatizada de un proyecto de Python en el servidor de CI usando pytest
. Estoy usando pytest==4.0.2
. Este error solo 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'
Respuestas:
pytest
Parece tener el paqueteattrs
como una dependencia.attrs==19.2.0
fue lanzado alrededor2019-10-01 17:00 UTC
. Esto parece causar el problema anterior.Cambiar de nuevo para
attrs==19.1.0
solucionar el problema. Solo haz lo siguiente:NOTA : Espero que el problema se resuelva pronto
attrs
opytest
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
fuente
pytest
a una versión más reciente.=
signo en la versión fijada. Debería serpip install --upgrade attrs==19.1.0
pytest se arregló usando una 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 usandoconvert
( 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 ).fuente
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:]
Resolví el mismo problema actualizando el módulo pytest a través del comando pip:
fuente