标签: python-black

PyCharm:在区域上运行`black -S`

我们还没有准备好用black自动格式化整个源代码。

但有时我想black -S通过 PyCharm 在一个区域上执行。

有一个在文档提示如何运行black(或者black -S对整个文件(我喜欢))。但 ...

如何仅在选定区域运行黑色?

python macros pycharm python-black

5
推荐指数
1
解决办法
197
查看次数

如何修复黑色预提交的 InvalidManifestError?

pre-commit使用black最新版本运行 python23.11.0会导致有线InvalidManifestError.

\n

摘自.pre-commit-config.yaml

\n
repos:\n-   repo: https://github.com/psf/black\n    rev: 23.11.0\n    hooks:\n    -   id: black\n        types: []\n        files: ^.*.pyi?$  # format .py and .pyi files`\n
Run Code Online (Sandbox Code Playgroud)\n

输出消息:

\n
\xe2\x94\x82 \xe2\x94\x82      stdout = \'An error has occurred: InvalidManifestError: \\n==> File                       \xe2\x94\x82 \xe2\x94\x82\n\xe2\x94\x82 \xe2\x94\x82               /Users/robot/.cache/pre-c\'+329                                                 \xe2\x94\x82 \xe2\x94\x82\n\xe2\x94\x82 \xe2\x94\x82 stdout_list = [                                                                              \xe2\x94\x82 \xe2\x94\x82\n\xe2\x94\x82 \xe2\x94\x82               \xe2\x94\x82   \'An error has occurred: InvalidManifestError: \\n\',                         \xe2\x94\x82 \xe2\x94\x82\n\xe2\x94\x82 \xe2\x94\x82               \xe2\x94\x82   \'==> File                                                                  \xe2\x94\x82 \xe2\x94\x82\n\xe2\x94\x82 \xe2\x94\x82               /Users/robot/.cache/pre-commit/repoxhmwyits/.pre-commit-hooks.yaml\\n\',         \xe2\x94\x82 \xe2\x94\x82\n\xe2\x94\x82 \xe2\x94\x82               \xe2\x94\x82 …
Run Code Online (Sandbox Code Playgroud)

python pre-commit python-black pre-commit.com

5
推荐指数
1
解决办法
970
查看次数

Formatter black 不适用于我的 VSCode ......但为什么呢?

我已经开始使用 Python 和 Django,我在这个领域很新。这是我第一次在这里提问……如果有已知的解决方案,我会提前道歉……

当我安装并设置 VSCode 格式化程序“黑色”(将 linter 设置为 flake8 之后)时,教程视频导师的一面会弹出类似“未安装格式化程序 autopep8”的弹出窗口。安装?'。& 我的没有显示该消息。

所以我所做的是...

  1. 在终端上手动输入“pipenv install flack --dev --pre”。
  2. 手动输入“python.formatting.provider”:“black”,到“.vscode”文件夹上的“settings.json”。
  3. Setting(VSCode) -> flake8, Python > Linting: Flake8 Enabled (Also modified in: workspace), (打勾) 是否使用 flake8 lint Python 文件

底部代码来自 settings.json(在 vscode 文件夹中)。


{
  "python.linting.pylintEnabled": false,
  "python.linting.flake8Enabled": true,
  "python.linting.enabled": true,
  "python.formatting.provider": "black", # input manually
  "python.linting.flake8Args": ["--max-line-length=88"] # input manually
}


Run Code Online (Sandbox Code Playgroud)

我找到了一个“黑色格式化程序”文档。https://github.com/psf/black & 它说... python -m black {source_file_or_directory} & 我收到以下错误消息。


    Usage: __main__.py [OPTIONS] [SRC]...
Try '__main__.py -h' for help.

Error: …
Run Code Online (Sandbox Code Playgroud)

python visual-studio-code python-black

4
推荐指数
8
解决办法
7427
查看次数

即使我已经暂存了以前修改过的文件,Git 预提交钩子也会继续修改文件

我正在运行 git pre-commit并运行 black 作为钩子之一。

现在,当我运行时commit,黑色失败并说:

All done! ?  ?
15 files reformatted, 1 file left unchanged.
Run Code Online (Sandbox Code Playgroud)

我查看了重新格式化的文件,我对它们很好。所以我暂存这些文件并commit再次尝试运行,但我不断收到与上述相同的消息。我尝试了以下命令但没有成功。

git add .
git add -A
git add -u
Run Code Online (Sandbox Code Playgroud)

这是我的.pre-commit-config.yaml文件:

repos:
    -   repo: https://github.com/psf/black
        rev: 19.10b0
        hooks:
            - id: black
              language_version: python3.6
    -   repo: https://github.com/pre-commit/pre-commit-hooks
        rev: v2.5.0
        hooks:
            -   id: check-merge-conflict
            -   id: check-docstring-first
            -   id: check-json
            -   id: check-yaml
            -   id: debug-statements
            -   id: double-quote-string-fixer
            -   id: end-of-file-fixer
            -   id: name-tests-test
                args: [--django]
            - …
Run Code Online (Sandbox Code Playgroud)

python git pre-commit python-black pre-commit.com

3
推荐指数
1
解决办法
4018
查看次数

如何在保存时应用黑码格式?

black每当我在 Sublime Text 3 中保存 Python 文件时,我都想申请。我该怎么做?

(如果有快速禁用它的方法可以加分)

sublimetext3 python-black

2
推荐指数
2
解决办法
3107
查看次数

如何格式化此代码以使 flake8 满意?

此代码由black创建:

def test_schema_org_script_from_list():
    assert (
        schema_org_script_from_list([1, 2])
        == '<script type="application/ld+json">1</script>\n<script type="application/ld+json">2</script>'
    )
Run Code Online (Sandbox Code Playgroud)

但现在 flake8 抱怨:

tests/test_utils.py:59:9: 二元运算符前的 W503 换行符

测试/test_utils.py:59:101: E501 行太长(105 > 100 个字符)

如何格式化上面的行并使 flake8 快乐?

我用这个 .pre-commit-config.yaml

# 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://gitlab.com/pycqa/flake8'
    rev: 3.8.4
    hooks:
      - id: flake8
  - repo: 'https://github.com/pre-commit/mirrors-isort'
    rev: v5.7.0
    hooks:
      - id: …
Run Code Online (Sandbox Code Playgroud)

flake8 python-black

1
推荐指数
1
解决办法
702
查看次数

使用Python Black,如何跳过数字文字中的下划线标准化?

我使用Black with Python 3.7(在VS Code中).

当我格式化我的代码时,数字文字用下划线标准化(例如1562202=> 1_562_202).

如何使用黑色格式而不使用下划线进行格式化?

注意 从黑色版本19.2b,这个问题已经过时了.

python python-3.x python-black

0
推荐指数
1
解决办法
410
查看次数