TypeError: attrib () beklenmeyen bir 'convert' anahtar kelime argümanı aldı


55

Bu hata, kullanarak bir python projesinin CI sunucusunda otomatik sınanması sırasında oluştu pytest. Kullanıyorum pytest==4.0.2. Bu hata daha yeni ortaya çıkmaya başladı, önceki boru hatları iyi çalışıyor gibi görünüyor.

Tam hata:

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'

Lütfen kodunuzu ekleyin veya minimum örnek hazırlayın.
Artem Vovsia

Yanıtlar:


97

pytestpaketin attrsbağımlılık olduğu görülüyor . attrs==19.2.0etrafında serbest bırakıldı 2019-10-01 17:00 UTC. Bu yukarıdaki soruna neden oluyor gibi görünüyor.

Geri dönmek attrs==19.1.0sorunu giderir. Sadece aşağıdakileri yapın:

pip install attrs==19.1.0

NOT : Sorunun yeni bir sürüm yayınlayarak attrsveya pytestyakında çözülmesini bekliyorum . Bu nedenle bu düzeltme yalnızca geçici olmalıdır.

GÜNCELLEME : Yorumu cevaba taşıma. Bu hata, pytest'in yeni sürümlerinde oluşmaz.pytest==5.2.0


7
Onaylıyorum, en iyi eylem pytestdaha yeni bir sürüme güncellemektir .
Guillaume Lebourgeois

2
Ben =sürüm sabitleme eksik bir işaret olduğunu düşünüyorum . O olmalıpip install --upgrade attrs==19.1.0
LogC


4

pytest sürüm 5.3.1 attrs ile Sürüm 19.3.0 benim için iyi çalışıyor. [Pytest Sürümünü ve attrs Sürümünü kontrol etmek için aşağıdaki komutu verin:]

pip show pytest attrs

Aynı sorunu pip komutu ile pytest modülünü yükselterek çözdüm:

pip install -U pytest
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.