如何在 Eclipse 中集成 pep8.py?

Posted

技术标签:

【中文标题】如何在 Eclipse 中集成 pep8.py?【英文标题】:How to integrate pep8.py in Eclipse? 【发布时间】:2010-09-28 20:03:03 【问题描述】:

一点背景:

PEP 8 是Python 代码风格指南。它包含所有 Python 程序员应遵循的约定。 根据 PEP 8,pep8.py 是一个(非常有用的)脚本,用于检查给定 python 脚本的代码格式。 Eclipse 是一个很棒的 IDE。加上Pydev扩展,可以用来开发Python

我在编写脚本时手动运行 pep8.py,但对于较大的项目,我更喜欢使用 Eclipse。 在 Eclipse/Pydev 中集成 pep8.py 非常有用,因此它可以在项目中的所有文件中自动运行,并指向包含警告的行。 也许有一个明显的方法可以做到,但我还没有找到。

问题是:如何在Eclipse中集成pep8.py?

【问题讨论】:

现在有一个默认的 pep8 集成。见:***.com/questions/399956/… 鉴于自从您接受Dmitry Kochkin 的答案后情况发生了变化,我是否可以建议您将接受的答案更改为Fabio Zadrozny 的答案或angelo.bixly 的答案?这将有助于像我一样从 Google 提出这个问题的未来访问者,使我们能够首先找到最新信息 - 否则这些答案可能需要很长时间才能被推送到顶部。 【参考方案1】:

从 PyDev 2.3.0 开始,pep8 默认集成在 PyDev 中,甚至附带它的默认版本。

打开窗口 > 首选项

必须在 PyDev > Editor > Code Analysis > pep8.py 中启用

错误/警告应显示为标记(与常规代码分析中的其他内容一样)。

如果文件未被分析,请参阅https://***.com/a/31001619/832230。

【讨论】:

默认显示很多警告。但是,当我从命令行运行它时,它会显示更多。如何说服它在 Eclipse 中显示从命令行运行时显示的所有警告?选项是一样的。此外,将 pep8 输出重定向到控制台没有任何作用。 PyDev 当前使用的是旧版本,因为它使用其内部 Jython 版本(当前为 2.2.1)。有计划让它在外部运行以获得结果或更新内部 Jython 以支持更新版本的 pep8.py。 显然,这不适用于 PyDev 4.2.0,在警告或错误模式下都不会显示任何标记。 刚刚在这里测试过,它确实对我有用...请注意,您的源代码必须位于源文件夹下(即:在 PYTHONPATH 中)才能正常工作(如果仍然没有,请在 pydev 跟踪器上报告问题)。 一旦我将它设置为错误模式,它就开始工作了。从您激活它到它开始标记代码还有一段延迟。【参考方案2】:

我不知道如何将它集成到整个项目中,但我已将它用作分析单个文件的外部工具。

请注意,pycodestyle 包是pep8 包的官方替换,并且是更新版本的pep8 包。要安装它,请运行:

$ sudo pip install --upgrade pycodestyle

接下来,在 Eclipse 中:

    选择运行-外部工具-外部工具配置... 选择程序根节点。 按新的启动配置按钮。 为您的启动配置输入 名称。我用pycodestyle

    填写以下字段:

    位置 -- $system_path:pycodestyle

    工作目录 -- $container_loc

    参数 -- "$resource_name"(使用当前活动的文件。)

转到Common标签并确认Allocate Console复选框被选中。

这种方法的一个好处是您可以使用非常最新版本的包,而不仅限于 PyDev 中包含的旧版本。如果您对以类似方式设置pylint 感到好奇,请参阅this answer。

【讨论】:

如果您收到错误 Variable references empty selection: $container_loc 不要忘记将源文件夹添加到 PYTHONPATH(如果您导入它可能不存在一个现有的项目到工作区)。 右键单击项目名称 > 属性 > PyDev - PYTHONPATH > 源文件夹选项卡,然后单击添加源文件夹。应该像魅力一样工作。 现在有一个默认的 pep8 集成。见:***.com/a/8532188/110451 这对 pep8 CHECKING 没有那么有用,因为它主要在 Eclispe 中可用 - 但我发现它对 autopep8 非常有用!谢谢【参考方案3】:
    打开你的 Eclipse 转到帮助并选择安装新软件 单击“添加”按钮,将出现“添加存储库”对话框 您可以使用任何您喜欢的名称。 (我用的是 PyDev) 对于位置,输入“http://pydev.org/updates” 点击确定。 您现在正在安装过程中。等待它完成。 安装完成后,关闭Eclipse,再打开。 现在 PyDev 已安装在 Eclipse 中,转到 Window->Preferences 选择 PyDev->Editor->代码分析 转到 pep8.py 选项卡 选择警告单选按钮并单击确定。

就是这样。您的 Eclipse IDE 现在已与 PEP8 集成。 要自动运行 pep8.py,请右键单击您的项目编辑器。选择 PyDev 并点击“代码分析”。在工作区的问题选项卡中,您将看到警告,指出您在 PEP8 中违反了(如果您违反了)行。

【讨论】:

非常奇怪的是,无论我如何尝试配置 pep8,编辑器中的警告和信息标记都没有出现。直到我添加了“问题”视图,然后它突然就像一个魅力......【参考方案4】:

代码分析:

在 Eclipse (PyDev) 中,如果你想代码分析使用 pep8 风格,那么

转到:Windows -> Preferences -> PyDev -> Editor -> Code Analysis -> pep8.py 选项卡并选择 Warning 点击 Apply 和 OK 按钮。

在你的 python 代码中,如果你验证 pep8 编码风格,它会给你警告

自动代码格式化:

在 Eclipse (PyDev) 中,如果你想 Auto Format 使用 pep8 样式的 python 代码,那么

转到:Windows -> 首选项 -> PyDev -> 编辑器 -> 代码样式 -> 代码格式化程序 -> 单击复选框(使用 autopep8.py 进行控制台格式化?)单击应用和确定按钮。

如果你想增加下面的行长(pep8 默认为 79)使用 autopep8.py 你可以设置参数类型 --max-line-length=150 如果你将最大长度设置为 150

如果按下自动格式化快捷键(Ctrl + Shift + f),它将自动格式化你的python代码,如pep8风格

【讨论】:

【参考方案5】:

这似乎还没有完全集成到 Pydev 中。

正如this post 所建议的,

[it] 需要更改 pydev 中的代码——一个灵活的选项是添加首选项,让用户选择他想要匹配的模式以创建超链接(并说明匹配中的哪个组是行以及哪个一个是文件)...

或者,您可以尝试使用硬编码:org.python.pydev.debug.ui.PythonConsoleLineTracker(应该很容易掌握)。

request does exist 仅此而已,但它似乎在创建 1 年后仍然开放......

【讨论】:

【参考方案6】:

您没有 :) 相反,您可以利用与 PyLint 的良好集成并配置 PyLint 来检查 PEP8 检查的所有内容。见How to configure PyLint to check all things PEP8 checks?

【讨论】:

以上是关于如何在 Eclipse 中集成 pep8.py?的主要内容,如果未能解决你的问题,请参考以下文章

如何在Eclipse中集成Git

在 Eclipse 中启用 pep8

eclipse中集成git提交代码时会出现下图所示的项目改如何删除

如何在使用 javascript 框架(如 ExtJs)创建的应用程序中集成支付网关?

Eclipse中集成jboss

Eclipse中集成Tomcat