TypeError:attrib()が予期しないキーワード引数 'convert'を取得しました


55

このエラーは、を使用したCIサーバーでのpythonプロジェクトの自動テスト中に発生しました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'

コードを追加するか、最小限のサンプルを準備してください。
Artem Vovsia

回答:


97

pytestattrs依存関係としてパッケージを持っているようです。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バージョンを確認するには、次のコマンドを発行します:]

pip show pytest attrs

私は同じ問題をpipコマンドでpytestモジュールをアップグレードすることで解決しました:

pip install -U pytest
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.