TypeError : attrib ()에 예기치 않은 키워드 인수 'convert'가 있습니다.


55

이 오류는을 사용하여 CI 서버에서 Python 프로젝트의 자동 테스트 중에 발생했습니다 pytest. 을 사용하고 pytest==4.0.2있습니다. 이 오류는 방금 발생하기 시작했으며 이전 파이프 라인은 제대로 작동하는 것 같습니다.

전체 오류 :

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'

코드를 추가하거나 최소 예제를 준비하십시오.
Artem Vovsia

답변:


97

pytest패키지 attrs를 종속성으로 사용하는 것 같습니다 . attrs==19.2.0주위에 풀려났다 2019-10-01 17:00 UTC. 이것은 위의 문제를 일으키는 것으로 보입니다.

다시 전환 attrs==19.1.0하면 문제가 해결됩니다. 다음을 수행하십시오.

pip install attrs==19.1.0

참고 : 나는 문제가 하나 해결 될 것으로 기대 attrs거나 pytest곧 새로운 버전을 출시하여. 따라서이 수정은 일시적이어야합니다.

업데이트 : 주석을 답변으로 옮깁니다. 이 오류는 최신 버전의 pytest에서 발생하지 않습니다.pytest==5.2.0


7
최선의 조치는 pytest최신 버전 으로 업데이트 하는 것입니다.
기욤 Lebourgeois

2
=버전 고정에 누락 된 부호 가 있다고 생각 합니다. 그것은해야한다pip install --upgrade attrs==19.1.0
logc


4

attrs 버전 19.3.0이있는 pytest 버전 5.3.1이 제대로 작동합니다. [pytest 버전 및 attrs 버전을 확인하려면 다음 명령을 실행하십시오.]

pip show pytest attrs

pip 명령을 통해 pytest 모듈을 업그레이드하여 동일한 문제를 해결했습니다.

pip install -U pytest
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.