Dieser Fehler trat beim automatisierten Testen eines Python-Projekts auf dem CI-Server mit auf pytest
. Ich benutze pytest==4.0.2
. Dieser Fehler trat gerade erst auf, frühere Pipelines scheinen einwandfrei zu funktionieren.
Der volle Fehler:
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'
Antworten:
pytest
scheint das Paketattrs
als Abhängigkeit zu haben.attrs==19.2.0
wurde herum veröffentlicht2019-10-01 17:00 UTC
. Dies scheint das obige Problem zu verursachen.Zurückschalten, um
attrs==19.1.0
das Problem zu beheben. Gehen Sie einfach wie folgt vor:HINWEIS : Ich gehe davon aus, dass das Problem entweder durch
attrs
oderpytest
bald durch Veröffentlichung einer neuen Version behoben wird . Dieser Fix sollte also nur vorübergehend sein.UPDATE : Verschieben des Kommentars in die Antwort. Dieser Fehler tritt bei den neueren Versionen von pytest nicht auf, d. H.
pytest==5.2.0
quelle
pytest
auf eine neuere Version zu aktualisieren .=
Zeichen in der Version, die feststeckt. Es sollte seinpip install --upgrade attrs==19.1.0
pytest wurde mit dem veralteten Schlüsselwort
convert
3.6.3 ( https://docs.pytest.org/en/latest/changelog.html#pytest-3-6-3-2018-07-04 ) behoben . Bei 4.0.1 hat pytest Code mithilfe vonconvert
( https://github.com/pytest-dev/pytest/pull/4427 ) zusammengeführt. Dieser Code wurde auf 5.2.0 behoben ( https://github.com/pytest-dev/pytest/pull/4795 ).quelle
pytest Version 5.3.1 mit attrs Version 19.3.0 funktioniert gut für mich. [Um die pytest-Version und die attrs-Version zu überprüfen, geben Sie den folgenden Befehl ein:]
Ich habe das gleiche Problem gelöst, indem ich das Pytest-Modul über den Befehl pip aktualisiert habe:
quelle