ImportError: 'click' から名前 '_unicodefun' をインポートできません 質問する

ImportError: 'click' から名前 '_unicodefun' をインポートできません 質問する

Pythonでlintチェックを実行するとパッケージでは、エラーが発生します:

ImportError: 'click' から名前 '_unicodefun' をインポートできません (/Users/robot/.cache/pre-commit/repo3u71ccm2/py_env-python3.9/lib/python3.9/site-packages/click/初期化.py)`

これを調査したところ、次のような関連する問題が見つかりました。

この問題を解決するにはどうすればいいでしょうか? これはリンターの誤検知でしょうか? コードを修正する必要がありますか?

ベストアンサー1

これは Black 22.3.0 で修正されました。それ以前のバージョンは click 8.1.0 では動作しません。

click 8.1.0 と互換性がありません (ImportError: 'click' から名前 '_unicodefun' をインポートできません) #2964

例えば:black.yml

          python-version: 3.8
      - name: install black
        run: |
-          pip install black==20.8b1
+          pip install black==22.3.0
      - name: run black
        run: |
          black . --check --line-length 100

https://github.com/Clinical-Genomics/cgb​​eacon2/pull/221/files

回避策として、clickを介して最新バージョンにピン留めしますpip install --upgrade click==8.0.2

おすすめ記事