如何在Eclipse中集成pep8.py?


90

一点背景:

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

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

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


3
现在有一个默认的pep8集成。请参阅:stackoverflow.com/questions/399956/…–
法比奥·扎德罗兹尼

1
考虑到自您接受Dmitry Kochkin的回答以来情况已经发生变化,我是否可以建议您将接受的答案更改为Fabio Zadrozny的答案或angelo.bixly的答案?这将对像我一样从Google提出这个问题的未来访问者有所帮助,使我们能够首先找到最新信息-否则这些答案可能需要很长时间才能被推到顶部。
Mark Booth

Answers:


88

从PyDev 2.3.0开始, pep8默认情况下已集成到PyDev中,甚至附带了其默认版本。

打开窗口>首选项

必须在PyDev>编辑器>代码分析> pep8.py中启用它

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

如果没有分析文件,请参阅https://stackoverflow.com/a/31001619/832230


6
默认情况下,它显示许多警告。但是,当我从命令行运行它时,它显示的甚至更多。从命令行运行时,如何说服它在Eclipse中显示所有警告?选项是相同的。另外,将pep8输出重定向到控制台也无济于事。
Krystian Cybulski 2013年

2
PyDev当前使用的是较早版本,因为它使用其内部Jython版本(当前为2.2.1)。有计划使它在外部运行以获取结果,或者更新内部Jython以支持新版本的pep8.py。
Fabio Zadrozny 2014年

显然,这在PyDev 4.2.0中不起作用,在警告或错误模式下都不会显示任何标记。
路易斯·德索萨

1
刚刚在这里对其进行了测试,它确实对我有用...请注意,您的源代码必须位于源文件夹下(即:在PYTHONPATH中),才能正常工作(如果仍然无效,请在pydev跟踪器中报告该问题) )。
Fabio Zadrozny 2015年

一旦将其设置为错误模式,它便开始工作。从激活它到开始标记代码之间还有一个延迟。
路易斯·德索萨

26

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

请注意,该pycodestyle软件包是该软件包的官方替代品,并且是该pep8软件包的较新版本。要安装它,请运行:

$ sudo pip install --upgrade pycodestyle

接下来,在Eclipse中:

  1. 选择运行-外部工具-外部工具配置...
  2. 选择“ 程序根节点”。
  3. 新启动配置按钮。
  4. 输入名称作为启动配置。我用pycodestyle
  5. 填写以下字段:

    位置 -${system_path:pycodestyle}

    工作目录 -${container_loc}

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

转到“ 通用”选项卡,并确认“ 分配控制台”已选中复选框。

这种方法的好处是您可以使用软件包的最新版本,而不仅限于PyDev随附的旧版本。如果您对pylint以类似方式进行设置感到好奇,请参阅此答案


1
如果出现错误,变量引用为空选择:$ {container_loc}不要忘记将源文件夹添加到PYTHONPATH(如果将现有项目导入工作区,则可能不存在)。右键单击项目名称>属性> PyDev-PYTHONPATH>源文件夹选项卡,然后单击添加源文件夹。应该像魅力一样工作。
伯尼2011年

2
现在有一个默认的pep8集成。请参阅:stackoverflow.com/a/8532188/110451
Fabio Zadrozny 2011年

1
这对于pep8 CHECKING没什么用,因为它在Eclispe中最常用-但我发现它对autopep8很有用!谢谢
汤姆·斯特拉顿

12
  1. 打开你的Eclipse
  2. 转到帮助并选择安装新软件
  3. 单击添加按钮,将出现“添加存储库”对话框
  4. 您可以使用任何喜欢的名称。(我使用了PyDev)
  5. 对于位置,输入“ http://pydev.org/updates”
  6. 单击确定。
  7. 您现在正在安装中。请等待它完成。
  8. 安装后,关闭Eclipse并再次打开它。
  9. 现在,您的Eclipse中已经安装了PyDev,请转到Window-> Preferences
  10. 选择PyDev-> Editor-> Code Analysis
  11. 转到pep8.py标签
  12. 选择警告单选按钮,然后单击确定。

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


一件很奇怪的事是,无论我多么努力地配置pep8,编辑器中的警告和信息标记都不会出现。直到我添加了“问题”视图,然后它突然像魅力一样
发挥

10

代码分析:

在Eclipse(PyDev)中,如果要进行代码分析使用pep8样式则

转到:Windows- > 选项-> PyDev- >编辑器->代码分析-> pep8.py选项卡,然后选择警告然后单击应用和确定按钮。

在您的python代码中,如果您验证pep8编码样式,则会警告您

自动代码格式:

在Eclipse(PyDev)中,如果要自动格式化使用pep8样式 python代码,则

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

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

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


6

这似乎尚未完全集成到Pydev中。

正如这篇文章中所建议

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

或者,您可以尝试使用org.python.pydev.debug.ui.PythonConsoleLineTracker对其进行硬编码(应该很容易理解)。

一个请求,确实存在对于这一点,但它似乎是它创建1年后仍处于打开状态...


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.