问题标签 [autopep8]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
11420 浏览

python - VS Code Python autopep8 不支持 2 个空格悬挂缩进

我正在尝试让 autopep8 正确缩进 Python 代码,其中包含 2 个空格而不是 4 个空格。我正在使用带有 Python 扩展的 VS Code,它使用 autopep8 进行格式化。我在这里发现 autopep8 可以配置为使用 2 个空格

但这对我不起作用。

我的情况是这样的。当我按下回车键时,它会正确地开始下一行,其缩进与前一行相同。在左括号后按回车键,它会正确地以另外 2 个空格开始新行。但是当我粘贴或保存时(我将“editor.formatOnPaste”和“editor.formatOnSave”设置为true),令人讨厌的事情发生了:括号内的所有2空格缩进都变成了4(其他2空格缩进不受影响) . 为什么要这样做,我怎样才能让它到处都是 2 个空格?

在此处输入图像描述

====编辑====

我发现 pylint 错误Wrong hanging indentation (remove 2 spaces). [bad-continuation]。这是因为我的 pylintrc 有indent-after-paren=2. 我想知道 autopep8 或其他 Python 格式化程序是否可以设置此属性?

0 投票
2 回答
11779 浏览

pylint - 如何使 pylint、flake8 或 pycodestyle 自动纠正错误?

我已经在我在 Ubuntu 18.04 上使用的 VM 上正确安装了所有上述模块。在特定脚本或文件夹上运行它们中的任何一个时,它们会正确识别样式错误并将其输出到控制台中。例如:

但是,代码中仍然存在相同的样式错误。如何使它们自动更正?

0 投票
1 回答
2380 浏览

python - autopep8 似乎没有找到配置文件?

根据 autopep8 的文档(此处:https ://github.com/hhatto/autopep8#configuration ),如果我在我的 git repo 的根目录中放置一个名为“setup.cfg”的文件,类似于

那么它应该选择那个配置。

我通过 pre-commit 钩子使用 autopep8,这里:https ://github.com/pre-commit/mirrors-autopep8

我能说的最好的,它没有找到 setup.cfg。我在同一目录中还有一个用于 flake8 的 .flake8 文件 - flake8 的预提交挂钩可以轻松获取它。

我发现虽然 autopep8 仅在修改后的文件上运行(很好),但它不排除 *_gui.py

这是一个错误吗?难道我做错了什么?

0 投票
1 回答
1531 浏览

python - Python 自动格式化增加了额外的空格

我遇到的问题与我的 Python 文件的 Visual Studio Code 中的自动格式化有关。

我喜欢在 Python 中使用制表符,因为它更容易保持一致并更快地键入代码;但是,当我在 Visual Studio Code 上保存时,保存时的自动格式会为每一行添加一个额外的空间。这意味着 python 脚本可以工作,但结构看起来不正常。

我试过禁用美化,它仍然发生。我不认为更漂亮的自动格式格式化 python 反正。我尝试检查设置 JSON 文件,但我认为那里也没有任何内容。

设置.json

这是保存格式之前的示例脚本:

在此处输入图像描述

以下是保存后发生的情况:

在此处输入图像描述

这在以前没有发生过。让我知道是否有任何令人困惑或需要更多信息

0 投票
2 回答
2330 浏览

python - vscode autopep8 不运行

我刚刚在vscode中运行autopep8,系统报两个错误:

错误:命令失败:autopep8 c:\Users\Administrator\Desktop\Python\从入门到实践\试一试\5-10.py用法:autopep8 [-h] [--version] [-v] [-d ] [-i] [--global-config 文件名] [--ignore-local-config] [-r] [-jn] [-pn] [-a] [--experimental] [--exclude globs] [ --list-fixes] [--ignore errors] [--select errors] [--max-line-length n] [--line-range line line] [--hang-closing] [--exit-code ] [files [files ...]] autopep8: error: autopep8 只接受一个文件名作为参数,除非使用“--in-place”或“--diff”参数

用法:autopep8 [-h] [--version] [-v] [-d] [-i] [--global-config 文件名] [--ignore-local-config] [-r] [-jn] [ -pn] [-a] [--experimental] [--exclude globs] [--list-fixes] [--ignore errors] [--select errors] [--max-line-length n] [-- line-range line line] [--hang-closing] [--exit-code] [files [files ...]] autopep8: error: autopep8 只接受一个文件名作为参数,除非“--in-place”或使用“--diff”参数

有谁知道为什么?我尽力了,但也不知道该怎么办。

我在用:

扩展:Python-autopep8

VS代码:1.33.1

0 投票
1 回答
149 浏览

python - 如何将多行 Python 代码转换为单行?

我有一些代码,例如:

它有额外的空格和缩进。我想以某种方式将其转换为一行。

我试过autopep8.fix_code(code)了,但它保持原样。

我还希望此代码位于一行:

0 投票
1 回答
1671 浏览

python - 如何在 Mac 上将 autopep8 安装到 python 3x 中?

我有一台 Mac 并安装了最新版本的 Python 3.x,我下载/安装了 autopep8,但它已安装到 Python 2 目录中。我需要将 autopep8 安装在 Python 3 目录中。可以这样做吗?

$ pip install autopep8 $ autopep8 在 ./Library/Python/2.7/lib/python/site-packages (1.4.4)

0 投票
1 回答
4341 浏览

python - vscode python格式化autopep8禁用E266

我正在尝试将 Visual Studio Code 设置为使用autopep8但忽略 E266(块注释的前导 '#' 太多)以允许注释中的 Markdown 子标题的格式。

--ignore 设置似乎适用于其他错误,如 E302,但不适用于 E266。

我的格式化配置如下,E266 仍然被强制执行,即使 E302 被忽略

使用上面的配置,autopep8 将忽略 E302(因此它不会在 def 之前插入行),但它会继续删除每个 E266 注释中的额外 #。

我可以将我的 Linter 设置为忽略 E266,这样它就不会在 UI 中加下划线,但不会在修改代码的 Formatter 中加下划线。这是运行良好的 Linter 配置

是否存在类似于 E266 的重叠规则导致格式化程序在忽略 E266 的情况下仍进行更改?不会出现,因为忽略 E266 时 Linter 无法识别正在编辑的行。

Example.py用于示例使用

0 投票
1 回答
2906 浏览

visual-studio-code - VSCode 在保存时不自动格式化

Vscode 没有在保存时格式化我的代码。

因此,我的 vscode 版本是:

  • Vscode 1.37.0(作为错误拍摄的一部分对其进行了更新,不确定以前的版本,但这也不起作用)
  • autopep8 1.4.4 (pycodestyle: 2.5.0)

我的 settings.json 看起来像这样:

为什么保存时自动格式化不起作用?

补充说明:

  • 这正确格式化了我的文件:python -m autopep8 --max-line-length 120 --in-place --aggressive --aggressive my_dirty_code.py
  • 我可以Formatting with autopep8在保存的任务栏中看到
0 投票
0 回答
524 浏览

python - Autopep8 和预提交不遵守 --global-config

我正在尝试将 pre-commit 与运行命令的 autopep8 一起使用pre-commit run --all-files。我的树和文件如下:

.pre-commit-config.yaml

.flake8

但是,当我运行时pre-commit run --all-files,我的 .flake8 文件没有被拾取,所以我尝试将 --global-config 添加到 .flake8:

但这只会导致错误:

我究竟做错了什么?

我的预提交版本是 1.18.2。