【问题标题】:Why does PyCharm use 120 Character Lines even though PEP8 Specifies 79?即使 PEP8 指定 79,为什么 PyCharm 使用 120 个字符行?
【发布时间】:2014-11-07 19:31:29
【问题描述】:

PEP8 明确指定了 79 个字符,但是,PyCharm 默认为 120,并给我警告“PEP8:行太长(... > 120 个字符)”。

以前版本的 PEP8 使用 120 并且 PyCharm 没有更新其 PEP8 检查器吗?我找不到任何以前版本的 PEP8 指南,但是,我可以轻松找到以前版本的 PEP8 Python 脚本。

我正在开始一个新的 Python 项目,但我不确定要使用哪个。

参考资料:

http://legacy.python.org/dev/peps/pep-0008/

【问题讨论】:

  • 如果您想符合 pep-8 标准,那么答案就在您的链接中

标签: python pycharm pep8


【解决方案1】:

PyCharm 构建在 IntelliJ 之上。 IntelliJ 的默认行长为 120 个字符。

这可能是因为您无法在仅仅 80 个字符的行中放入一个常见的 Java 名称,例如:@annotated public static MyObjectFactoryFactory enterpriseObjectFactoryFactoryBuilderPattern {。 (我在开玩笑,但按照惯例,Java 名称确实往往更长)。

pep8 检查器是可配置的,因此您可以指定更好的最大行长度 - 例如 79 个字符。

该错误具有误导性,因为 pep8 检查器将文本格式化为 "PEP8: line too long(... > %s characters)" % max_line_setting 之类的内容。所以它使用的是带有特定配置的 pep8 检查器,而不是声称 pep8 指定了 120 个字符的行。

【讨论】:

  • 我认为 Intellij Python 插件是 Intellij 的 Pycharm。但我不会说 Pycharm 是建立在 Intellij 之上的,Intellij 是 JetBrains 的高端产品。
  • @Apero 根据JetBrains blog,“代码都在 GitHub 上,可供您使用。它不是一个单独的项目,而是主要 IntelliJ IDEA 社区版项目的一部分”。 IntelliJ 只是他们的 Java IDE,并提供免费的啤酒社区版和具有附加企业功能的付费版本。您也可以购买具有类似功能的 PyCharm 版本。
  • 这是一个他们正在努力纠正的已知问题:youtrack.jetbrains.com/issue/PY-16078
【解决方案2】:

如果您想完全删除限制警告,您可以采取以下步骤:

  1. 在 PyCharm 中,单击文件 > 设置
  2. 在项目设置部分,单击编辑器 > 检查
  3. 在出现的列表中,展开 Python
  4. 在 Python 下,向下滚动并点击“PEP8 编码风格违规”
  5. 点击右下角“忽略错误”旁边的 + 按钮
  6. 输入 E501 并单击应用和/或确定

来源:

【讨论】:

    【解决方案3】:

    AFAIK,PEP8 从未允许 120 个字符,但并非所有人都遵循 PEP8。 回答你的问题:保持在 80 个字符以下,无论是出于礼貌还是出于好意。

    【讨论】:

    • 但 PyCharm 声称 120 是 PEP8。他们为什么误导人们?
    • 我会听从@munkhd 的回答,因为我不使用 PyCharm。 (坚持使用emacs,一切都会好得多......)
    • 来自 PEP-8(但我最多编码 120 个字符,并且偶尔也会违反该限制):“......有些团队强烈喜欢更长的行长。对于专门或主要由可以就这个问题达成一致的团队,可以将行长限制增加到 99 个字符 ..."
    猜你喜欢
    • 2010-09-10
    • 2018-07-22
    • 1970-01-01
    • 2023-04-09
    • 1970-01-01
    • 2018-09-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多