ImportError: cannot import name '_unicodefun' from 'click'
ImportError: cannot import name '_unicodefun' from 'click'
当 运行 我们的 lint 检查 Python Black 包时,出现错误:
ImportError: cannot import name '_unicodefun' from 'click' (/Users/robot/.cache/pre-commit/repo3u71ccm2/py_env-python3.9/lib/python3.9/site-packages/click/init.py)`
在研究这个过程中,我发现了以下相关问题:
- ImportError: cannot import name '_unicodefun' from 'click' #2976
- ImportError: cannot import name '_unicodefun' from 'click' #6013
我该如何解决这个问题?这是 linter 的误报吗?我需要修改我的代码吗?
Black 22.3.0 已修复此问题。之前的版本不适用于 click 8.1.0。
Incompatible with click 8.1.0 (ImportError: cannot import name '_unicodefun' from 'click') #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/cgbeacon2/pull/221/files
作为解决方法,通过 pip install --upgrade click==8.0.2
将 click
固定到最新版本。
如果您使用 black
作为 pre-commit 钩子的 YAML 的一部分,您可以更新 pre-commit 文件(通常是 .pre-commit-config.yaml
)以引用更新的黑色版本 (>=22.3.0),例如
# See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v3.2.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- id: check-yaml
- id: check-added-large-files
- repo: https://github.com/psf/black
rev: 22.3.0
hooks:
- id: black
exclude: ^dist/
运行 如果 YAML 文件固定 black
本身,black
的新版本的 pip 安装将不足以满足 command-line pre-commit 挂钩到特定版本... pre-commit
默认情况下。另见 Black's GitHub Issue Tracker.
当 运行 我们的 lint 检查 Python Black 包时,出现错误:
ImportError: cannot import name '_unicodefun' from 'click' (/Users/robot/.cache/pre-commit/repo3u71ccm2/py_env-python3.9/lib/python3.9/site-packages/click/init.py)`
在研究这个过程中,我发现了以下相关问题:
- ImportError: cannot import name '_unicodefun' from 'click' #2976
- ImportError: cannot import name '_unicodefun' from 'click' #6013
我该如何解决这个问题?这是 linter 的误报吗?我需要修改我的代码吗?
Black 22.3.0 已修复此问题。之前的版本不适用于 click 8.1.0。
Incompatible with click 8.1.0 (ImportError: cannot import name '_unicodefun' from 'click') #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/cgbeacon2/pull/221/files
作为解决方法,通过 pip install --upgrade click==8.0.2
将 click
固定到最新版本。
如果您使用 black
作为 pre-commit 钩子的 YAML 的一部分,您可以更新 pre-commit 文件(通常是 .pre-commit-config.yaml
)以引用更新的黑色版本 (>=22.3.0),例如
# See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v3.2.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- id: check-yaml
- id: check-added-large-files
- repo: https://github.com/psf/black
rev: 22.3.0
hooks:
- id: black
exclude: ^dist/
运行 如果 YAML 文件固定 black
本身,black
的新版本的 pip 安装将不足以满足 command-line pre-commit 挂钩到特定版本... pre-commit
默认情况下。另见 Black's GitHub Issue Tracker.