Kesalahan ini terjadi selama pengujian otomatis proyek python di server CI menggunakan pytest
. Saya menggunakan pytest==4.0.2
. Kesalahan ini baru saja mulai terjadi, saluran pipa sebelumnya tampaknya berfungsi dengan baik.
Kesalahan penuh:
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'
Jawaban:
pytest
tampaknya memiliki paketattrs
sebagai ketergantungan.attrs==19.2.0
dirilis sekitar2019-10-01 17:00 UTC
. Ini tampaknya menyebabkan masalah di atas.Beralih kembali untuk
attrs==19.1.0
memperbaiki masalah. Lakukan saja hal berikut:CATATAN : Saya berharap bahwa masalah ini akan diselesaikan dengan
attrs
ataupytest
segera dengan merilis versi baru. Jadi perbaikan ini hanya bersifat sementara.UPDATE : Memindahkan komentar ke dalam jawabannya. Kesalahan ini tidak terjadi pada versi pytest terbaru
pytest==5.2.0
sumber
pytest
ke versi yang lebih baru.=
tanda yang hilang pada versi pinning. Seharusnyapip install --upgrade attrs==19.1.0
pytest diperbaiki menggunakan kata kunci yang tidak digunakan lagi
convert
di 3.6.3 ( https://docs.pytest.org/en/latest/changelog.html#pytest-3-6-3-2018-07-04 ). Pada 4.0.1, pytest menggabungkan kode menggunakanconvert
( https://github.com/pytest-dev/pytest/pull/4427 ). Kode ini diperbaiki pada 5.2.0 ( https://github.com/pytest-dev/pytest/pull/4795 ).sumber
pytest versi 5.3.1 dengan attrs Versi 19.3.0 berfungsi dengan baik untuk saya. [Untuk memeriksa Versi pytest dan Versi attrs, jalankan perintah berikut:]
Saya memecahkan masalah yang sama dengan memutakhirkan modul pytest via perintah pip:
sumber