79 votes

TypeError : attrib() got an unexpected keyword argument 'convert' (erreur de type)

Cette erreur s'est produite pendant le test automatisé d'un projet python sur le serveur CI en utilisant pytest . J'utilise pytest==4.0.2 . Cette erreur vient juste de commencer à se produire, les pipelines précédents semblent fonctionner correctement.

L'erreur complète :

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'

0 votes

Ajoutez votre code s'il vous plaît ou préparez un exemple minimum.

136voto

NitRed Points 44

pytest semble avoir le paquet attrs en tant que dépendance. attrs==19.2.0 est sorti aux alentours de 2019-10-01 17:00 UTC . Cela semble causer le problème ci-dessus.

Revenir à attrs==19.1.0 règle le problème. Il suffit de faire ce qui suit :

pip install attrs==19.1.0

NOTE : Je m'attends à ce que la question soit résolue soit en attrs ou pytest bientôt en publiant une nouvelle version. Cette correction ne devrait donc être que temporaire.

UPDATE : Déplacer le commentaire dans la réponse. Cette erreur ne se produit pas sur les versions les plus récentes de pytest, c'est-à-dire pytest==5.2.0

10voto

Atsushi Odagiri Points 91

Pytest corrige l'utilisation d'un mot-clé déprécié convert à 3.6.3 ( https://docs.pytest.org/en/latest/changelog.html#pytest-3-6-3-2018-07-04 ). À la version 4.0.1, pytest a fusionné le code qui utilisait convert ( https://github.com/pytest-dev/pytest/pull/4427 ). Ce code a été corrigé dans la version 5.2.0 ( https://github.com/pytest-dev/pytest/pull/4795 ).

8voto

iun1x Points 11

Pytest version 5.3.1 avec attrs Version 19.3.0 fonctionne bien pour moi. [Pour vérifier la version de pytest et la version d'attrs, utilisez la commande suivante :]

pip show pytest attrs

J'ai résolu le même problème en mettant à jour le module pytest via la commande pip :

pip install -U pytest

4voto

code-freeze Points 21
python -m pip install --upgrade pytest

(invite anaconda ou cmd)

Cela devrait résoudre votre problème, car une version mise à jour de pytest prend automatiquement en charge les problèmes d'attr.

0 votes

Fonctionne parfaitement ! merci beaucoup

0voto

maxtess Points 51

J'ai la même erreur avec aws-encryption-cli v2. J'ai mis à jour mon aws-cdk.core et cela fonctionne à nouveau avec la migration vers aws-encryption-cli V2.

pip install -U aws-cdk.core

V2 doc : https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/crypto-cli-examples.html#cli-example-encrypt-file

bug de github : https://github.com/aws/aws-cdk/issues/3293

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X