How to integrate pep8.py in Eclipse?

2019-01-13 01:23发布

A little background:

  • PEP 8 is the Style Guide for Python Code. It contains the conventions all python programmers should follow.
  • pep8.py is a (very useful) script that checks the code formating of a given python script, according to PEP 8.
  • Eclipse is a great IDE. With the Pydev extension, it that can be used to develop Python

I run pep8.py manually when I'm scripting, but with bigger projects I prefer to use Eclipse. It would be really useful to integrate pep8.py in Eclipse/Pydev, so it can be run automatically in all the files in the project, and point to the lines containing the warnings. Maybe there is an obvious way to do it, but I haven't found it yet.

Question is: How to integrate pep8.py in Eclipse?

6条回答
小情绪 Triste *
2楼-- · 2019-01-13 01:32

CODE ANALYSIS :

In Eclipse (PyDev), if you want to code analysis using pep8 style then

Go to:Windows -> Preferences -> PyDev -> Editor -> Code Analysis -> pep8.py tab and select Warning click Apply and OK button.

In your python code if you validate pep8 coding style it will give you warning

AUTO CODE FORMATTING :

In Eclipse (PyDev), if you want to Auto Format python code using pep8 style then

Go to:Windows -> Preferences -> PyDev -> Editor -> Code Style -> Code Formatter -> click on check-box (Use autopep8.py for console formatting?) click Apply and OK button.

If you want to increase length of line(pep8 default is 79) below Use autopep8.py you can set parameter type --max-line-length=150 if you set max length to 150

If press auto-format shortcut ( Ctrl + Shift + f ) it will automatically format your python code like pep8 style

查看更多
等我变得足够好
3楼-- · 2019-01-13 01:34
  1. Open your Eclipse
  2. Go to Help and select Install New Software
  3. Click the Add button and a "Add Repository" Dialog box will appear
  4. You can use any name you like for it. (I used PyDev)
  5. For the location, enter "http://pydev.org/updates"
  6. Click Ok.
  7. You are now in the process of installation. Just wait for it to finish.
  8. After the installation, close Eclipse and Open it again.
  9. Now that PyDev is installed in your Eclipse, go to Window->Preferences
  10. Choose PyDev->Editor->Code Analysis
  11. Go to pep8.py tab
  12. Choose the radio button for warning and click Ok.

That's it. Your Eclipse IDE is now integrated with PEP8. To run pep8.py automatically, right click on your project editor. Choose PyDev and click "code analysis". In your problems tab in your workspace, you will see warnings that points to the line that you have made a violation in the PEP8 (if you have violated).

查看更多
Root(大扎)
4楼-- · 2019-01-13 01:35

I don't know how to integrate it for whole project, but I have used it as an external tool to analyze an individual file.

Note that the pycodestyle package is the official replacement for and is the newer version of the pep8 package. To install it, run:

$ sudo pip install --upgrade pycodestyle

Next, in Eclipse:

  1. Select Run-External Tools-External Tools Configurations...
  2. Select Program root node.
  3. Press New launch configuration button.
  4. Enter Name for your launch configuration. I use pycodestyle.
  5. Fill following fields:

    Location -- ${system_path:pycodestyle}

    Working directory -- ${container_loc}

    Arguments -- "${resource_name}" (This uses the currently active file.)

Go to Common tab and confirm that the Allocate Console checkbox is checked.

A benefit of this approach is that you can use a very up-to-date version of the package, and are not limited to the old version included with PyDev. And if you are curious about setting up pylint in a similar manner, see this answer.

查看更多
疯言疯语
5楼-- · 2019-01-13 01:42

You don't :) Instead you take advantage of very good integration with PyLint and configure PyLint to check all things PEP8 checks. See How to configure PyLint to check all things PEP8 checks?

查看更多
Anthone
6楼-- · 2019-01-13 01:53

As of PyDev 2.3.0, pep8 is integrated in PyDev by default, even shipping with a default version of it.

Open Window > Preferences

It must be enabled in PyDev > Editor > Code Analysis > pep8.py

Errors/Warnings should be shown as markers (as other things in the regular code analysis).

In the event a file is not analyzed, see https://stackoverflow.com/a/31001619/832230.

查看更多
Animai°情兽
7楼-- · 2019-01-13 01:57

That does not yet appear to be fully integrated into Pydev.

As suggested in this post,

[it] would require changing the code within pydev -- a flexible option would be adding preferences to let the user choose to which patterns he wants to match for creating hyperlinks (and saying which group in the match is the line and which one is the file)...

Or, you can try it hard-coded playing with: org.python.pydev.debug.ui.PythonConsoleLineTracker (should be pretty easy to grasp).

A request does exist for just that, but it seems to be still open 1 year after its creation...

查看更多
登录 后发表回答