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


55

Ця помилка сталася під час автоматизованого тестування проекту 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'

Додайте свій код, будь ласка, або підготуйте мінімальний приклад.
Артем Вовсія

Відповіді:


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до більш нової версії.
Гійом Лебуржуа

2
Я думаю, що в =зафіксуванні версії відсутній знак. Це повинно бутиpip install --upgrade attrs==19.1.0
logc


4

pytest версії 5.3.1 з attrs Версія 19.3.0 для мене добре працює. [Для перевірки версії pytest та Attrs Version видайте таку команду:]

pip show pytest attrs

Я вирішив ту ж проблему, оновивши модуль pytest за допомогою команди pip:

pip install -U pytest
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.