问题标签 [python-black]

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 投票
1 回答
2087 浏览

python-3.x - Black python formatter not working in zsh

I use the python formatter Black, but when I switched to zsh it stop working. Every time I try to use it manually through the terminal I get zsh: command not found: black

I have it installed here /Users/HBrovell/Library/Python/3.7/bin/black and added to my .zshrc with export PATH="/Users/HBrovell/Library/Python/3.7/bin/black:$PATH"

What I'm missing here to get it to work?

0 投票
2 回答
8636 浏览

regex - 黑色 --exclude 参数不排除所需文件

假设exclude_from_black.py我的项目根目录中有以下 python 文件:

我正在尝试将此文件从黑色重新格式化中排除,但以下命令似乎都不起作用:

根据文档exclude参数采用正则表达式。我在这里做错了什么?

0 投票
1 回答
459 浏览

python - python黑色格式化程序可以使用制表符而不是空格吗?

我想在我的预提交挂钩中使用python 黑色代码重新格式化程序,但在我的公司中,他们决定在 python 代码中使用制表符而不是空格。所以我试图改变黑人配置,但我没有看到任何使用制表符的选项,唯一可以影响的就是行长。

黑色是否与 PEP8 标准绑定得如此紧密,以至于它永远不会允许制表符?

0 投票
2 回答
1434 浏览

python - Flake8 禁用所有格式化规则

flake8用于 linting 和black格式化。

flake8对执行规则格式化规则产生警告:

在此处输入图像描述

我只想查看执行规则。我不关心格式化规则,因为它们会通过格式化自动得到修复black

在此处输入图像描述

我可以通过运行一次禁用这些规则flake8 --ignore=E271,E225,W291,E231。但是,没有要禁用的格式化规则的详尽列表,必须一次发现一个。拥有类似于 JavaScript 的 eslint 的东西会很棒,其中有一个插件可以禁用代码格式化程序涵盖的所有格式化规则。

有没有类似的方法来禁用所有格式规则flake8

解决方案:基于以下答案,我最终使用此命令忽略了所有格式规则:

0 投票
4 回答
4104 浏览

python - 我可以撤消 Black 对我的 Python 代码所做的格式样式更改吗?

Python 格式化工具 Black 是否有一个选项可以撤消它在运行后所做的格式更改?还是假设我正在使用源代码管理并制作自己的备份?这是截至 2019 年 12 月的黑色版本 19.3b0。

0 投票
1 回答
51 浏览

python - 是否可以在编辑器中让 VS Code 显示格式化程序规则,就像 linter 一样?

使用 VS Code,当我使用 Flake8 或 Pylint 之类的 linter 时,它会在代码部分下划线,当我悬停时,它会告诉我规则被破坏的代码和描述。

我希望具有相同的功能,但对于 pep8 或 black 之类的格式化程序。但似乎他们只能在保存时格式化或格式化为命令。我想让这些信息更明显,这样我就可以更多地理解规则,并决定是否要更改我的项目的默认格式化程序规则。现在我必须保存,并尝试猜测发生了什么更改或在之前/之后对文件进行比较。

我在格式设置中看不到任何选项来使此信息对 python 代码可见。

0 投票
2 回答
2699 浏览

python - 黑色 (Python) 忽略规则

我觉得布莱克正在做一些不合规的事情(与我的组织),所以我试图忽略某些规则。

下面的示例和相关链接

PEP 8: whitespace before ':'

我的组织(编码标准)不优先考虑 Black 认为正确的内容,而是想要一种自定义黑色配置的方法。

我没有看到任何提到忽略黑色文档中的规则https://github.com/psf/black#command-line-options

他们给出了忽略 Flake8 规则的示例,但似乎没有针对他们自己的产品的任何文档。

0 投票
0 回答
454 浏览

python - 在 conda envvironment 中使用“black filename.py”时,Python Black 包不起作用

我需要使用 python black(代码格式化程序),但看到这个问题

  • 为此,我首先搬到了 git 分支,在那里我需要用黑色包更新环境
  • 然后激活环境conda activate my_env
  • 然后我安装了黑色使用conda install -c conda-forge black
  • 然后我检查是否使用安装了黑色conda list -n my_env black(它存在于列表中)
  • 然后我用黑色用命令格式化文件black file_name.py

我看到了这个问题:https ://www.screencast.com/t/8PzgwTMt

无法使用创建进程<path>/python.exe <path>/black-script.py filename.py

0 投票
1 回答
3623 浏览

flake8 - 如何在诗歌虚拟环境中更改黑色或 flake8 的默认行长?

我已将 black and flake8 加载到诗歌虚拟环境中。我想将默认线长更改为黑色或 flake8,以便他们同意。做这个的最好方式是什么?

0 投票
1 回答
1413 浏览

python - mypy 找不到黑色的类型提示

我有一个test.py只包含行的文件import black。当我运行时mypy test.py,我收到以下错误:

但是,当我查看 的来源black,似乎所有内容都有类型提示。我需要做些什么不同的事情mypy才能让它在我导入时使用类型提示black

环境设置:

编辑 - 从错误消息中提到的链接

Mypy 不会尝试推断您已安装的任何 3rd 方库的类型,除非它们已声明自己是符合 PEP 561 的存根包或已在 typeshed 上注册自己

我假设black已经满足其中一项要求,但它似乎没有在typeshed上注册。从这里开始,似乎一个包必须有一个py.typed符合 PEP 561 并带有内联注释的文件,而且black似乎也没有。

我的问题仍然存在 - 鉴于输入信息已经存在black,我如何(无需在某处获得 PR 批准)mypy使用它?

我没有看到有关该py.typed文件的任何详细信息 - 如果这只是一个空文件并且只有它的存在很重要,我假设我可以在某处创建它然后输入会起作用吗?