TypeError: attrib () ha ottenuto un argomento inaspettato per la parola chiave 'convert'


55

Questo errore si è verificato durante il test automatizzato di un progetto Python sul server CI utilizzando pytest . Sto usando pytest==4.0.2. Questo errore è appena iniziato a verificarsi, le condotte precedenti sembrano funzionare correttamente.

L'errore completo:

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'

Aggiungi il tuo codice per favore o prepara un esempio minimo.
Artem Vovsia,

Risposte:


97

pytestsembra avere il pacchetto attrscome dipendenza. attrs==19.2.0è stato rilasciato in giro2019-10-01 17:00 UTC . Questo sembra causare il problema sopra.

Tornare indietro per attrs==19.1.0risolvere il problema. Basta fare quanto segue:

pip install attrs==19.1.0

NOTA : mi aspetto che il problema venga risolto da attrsopytest presto rilasciando una nuova versione. Quindi questa correzione dovrebbe essere solo temporanea.

AGGIORNAMENTO : spostare il commento nella risposta. Questo errore non si verifica nelle versioni più recenti di pytest iepytest==5.2.0


7
Confermo, la migliore azione è l'aggiornamento pytesta una versione più recente.
Guillaume Lebourgeois,

2
Penso che ci sia un =segno mancante nel blocco della versione. Dovrebbe esserepip install --upgrade attrs==19.1.0
logc


4

pytest versione 5.3.1 con attrs La versione 19.3.0 funziona bene per me. [Per verificare la versione di Pytest e attirare la versione emettere il seguente comando:]

pip show pytest attrs

Ho risolto lo stesso problema aggiornando il modulo pytest tramite il comando pip:

pip install -U pytest
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.