Эта ошибка произошла во время автоматического тестирования проекта 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'
Ответы:
pytest
кажется, что пакетattrs
в качестве зависимости.attrs==19.2.0
был выпущен вокруг2019-10-01 17:00 UTC
. Это, кажется, вызывает проблему выше.Возвращение к
attrs==19.1.0
решению проблемы. Просто сделайте следующее:ПРИМЕЧАНИЕ . Я ожидаю, что проблема будет решена либо до,
attrs
либо вpytest
ближайшее время путем выпуска новой версии. Так что это исправление должно быть только временным.ОБНОВЛЕНИЕ : Перемещение комментария в ответ. Эта ошибка не возникает в более новых версиях pytest, т.е.
pytest==5.2.0
источник
pytest
до более новой версии.=
в версии закрепление отсутствует знак. Это должно бытьpip install --upgrade attrs==19.1.0
исправление pytest с использованием устаревшего ключевого слова
convert
в 3.6.3 ( https://docs.pytest.org/en/latest/changelog.html#pytest-3-6-3-2018-07-04 ). В версии 4.0.1 pytest объединил код с помощьюconvert
( https://github.com/pytest-dev/pytest/pull/4427 ). Этот код был исправлен в 5.2.0 ( https://github.com/pytest-dev/pytest/pull/4795 ).источник
pytest версия 5.3.1 с attrs Версия 19.3.0 у меня работает нормально. [Чтобы проверить версию pytest и версию attrs, введите следующую команду:]
Я решил ту же проблему, обновив модуль pytest с помощью команды pip:
источник