Ten błąd wystąpił podczas automatycznego testowania projektu Pythona na serwerze CI przy użyciu pytest
. Używam pytest==4.0.2
. Ten błąd dopiero zaczął się pojawiać, poprzednie rurociągi wydają się działać dobrze.
Pełny błąd:
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'
Odpowiedzi:
pytest
wydaje się mieć pakietattrs
jako zależność.attrs==19.2.0
został wypuszczony2019-10-01 17:00 UTC
. Wydaje się, że powoduje to powyższy problem.Przejście z powrotem do
attrs==19.1.0
rozwiązania problemu. Po prostu wykonaj następujące czynności:UWAGA : Oczekuję, że problem zostanie rozwiązany przez
attrs
lubpytest
wkrótce po wydaniu nowej wersji. Dlatego ta poprawka powinna być tymczasowa.AKTUALIZACJA : Przeniesienie komentarza do odpowiedzi. Ten błąd nie występuje w nowszych wersjach pytest, tj
pytest==5.2.0
źródło
pytest
do nowszej wersji.=
w przypinaniu wersji brakuje znaku. Powinno byćpip install --upgrade attrs==19.1.0
pytanie zostało naprawione za pomocą przestarzałego słowa kluczowego
convert
w wersji 3.6.3 ( https://docs.pytest.org/en/latest/changelog.html#pytest-3-6-3-2018-07-04 ). W wersji 4.0.1 pytest scalił kod za pomocąconvert
( https://github.com/pytest-dev/pytest/pull/4427 ). Ten kod został naprawiony w wersji 5.2.0 ( https://github.com/pytest-dev/pytest/pull/4795 ).źródło
Pytest wersja 5.3.1 z attrs Wersja 19.3.0 działa dla mnie dobrze. [Aby sprawdzić wersję pytest i wersję attrs, wydaj następujące polecenie:]
Rozwiązałem ten sam problem, aktualizując moduł pytest za pomocą polecenia pip:
źródło