TypeError: attrib() получил неожиданный аргумент ключевого слова 'convert'

Эта ошибка произошла во время автоматического тестирования проекта python на CI-сервере с использованием 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'

Ответы

Ответ 1

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