Como integrar pep8.py no Eclipse?


90

Um pouco de história:

  • PEP 8 é o Guia de Estilo para Código Python . Ele contém as convenções que todos os programadores de Python devem seguir.
  • pep8.py é um script (muito útil) que verifica a formatação do código de um determinado script Python, de acordo com PEP 8.
  • Eclipse é um ótimo IDE. Com a extensão Pydev , ele pode ser usado para desenvolver Python

Eu executo pep8.py manualmente quando estou escrevendo, mas com projetos maiores, prefiro usar o Eclipse. Seria muito útil integrar pep8.py no Eclipse / Pydev, para que ele possa ser executado automaticamente em todos os arquivos do projeto e apontar para as linhas que contêm os avisos. Talvez haja uma maneira óbvia de fazer isso, mas ainda não a encontrei.

A questão é: Como integrar pep8.py no Eclipse?


3
Agora existe uma integração pep8 padrão. Veja: stackoverflow.com/questions/399956/…
Fabio Zadrozny

1
Considerando que a situação mudou desde que você aceitou a resposta de Dmitry Kochkin , posso sugerir que você altere sua resposta aceita para a resposta de Fabio Zadrozny ou de angelo.bixly ? Isso ajudará futuros visitantes que, como eu, chegaram a esta pergunta do Google, permitindo-nos encontrar as informações mais atualizadas primeiro - caso contrário, pode levar muito tempo para que essas respostas cheguem ao topo.
Mark Booth

Respostas:


88

A partir do PyDev 2.3.0, pep8é integrado ao PyDev por padrão, mesmo sendo fornecido com uma versão padrão dele.

Abra a janela> Preferências

Deve ser habilitado em PyDev> Editor> Análise de Código> pep8.py

Erros / avisos devem ser mostrados como marcadores (como outras coisas na análise de código regular).

Caso um arquivo não seja analisado, consulte https://stackoverflow.com/a/31001619/832230 .


6
Ele mostra muitos avisos por padrão. No entanto, quando o executo na linha de comando, ele mostra ainda mais. Como posso convencê-lo a mostrar todos os avisos no Eclipse da forma como são exibidos ao ser executado na linha de comando? As opções são as mesmas. Além disso, redirecionar a saída pep8 para o console não faz nada.
Krystian Cybulski

2
PyDev está usando uma versão mais antiga porque usa sua versão Jython interna (que está atualmente em 2.2.1). Existem planos para executá-lo externamente para obter os resultados ou atualizar o Jython interno para poder oferecer suporte a versões mais recentes de pep8.py.
Fabio Zadrozny

Aparentemente, isso não está funcionando com o PyDev 4.2.0, nenhum marcador é exibido, seja no modo Aviso ou Erro.
Luís de Sousa

1
Acabei de testar aqui e funciona para mim ... observe que suas fontes devem estar em uma pasta de origem (ou seja: no PYTHONPATH) para que funcione (se ainda não funcionar, relate o problema no rastreador pydev )
Fabio Zadrozny

Começou a funcionar assim que o configurei para o modo de erro. Também há um atraso do momento em que você o ativa até que ele comece a marcar o código.
Luís de Sousa

26

Não sei como integrá-lo para todo o projeto, mas usei-o como uma ferramenta externa para analisar um arquivo individual.

Observe que o pycodestylepacote é o substituto oficial e a versão mais recente do pep8pacote. Para instalá-lo, execute:

$ sudo pip install --upgrade pycodestyle

A seguir, no Eclipse:

  1. Selecione Executar-Ferramentas Externas-Configurações de Ferramentas Externas ...
  2. Selecione o nó raiz do programa .
  3. Pressione o botão Nova configuração de inicialização .
  4. Insira o nome para sua configuração de inicialização. Eu uso pycodestyle.
  5. Preencha os seguintes campos:

    Localização -${system_path:pycodestyle}

    Diretório de trabalho -${container_loc}

    Argumentos - "${resource_name}"(usa o arquivo ativo no momento).

Vá para a guia Common e confirme se a caixa de seleção Allocate Console está marcada.

Um benefício dessa abordagem é que você pode usar uma versão muito atualizada do pacote e não está limitado à versão antiga incluída no PyDev. E se você está curioso para configurar de pylintmaneira semelhante, veja esta resposta .


1
Se você estiver recebendo um erro Referência de variável, seleção vazia: $ {container_loc} não se esqueça de adicionar sua pasta de origem a PYTHONPATH (ela pode não estar lá se você importar um projeto existente para o espaço de trabalho). Clique com o botão direito no nome do projeto> Propriedades> PyDev - PYTHONPATH> guia Pastas de origem e clique em Adicionar pasta de origem . Deve estar funcionando como um encanto.
Berni

2
Agora existe uma integração pep8 padrão. Consulte: stackoverflow.com/a/8532188/110451
Fabio Zadrozny

1
Isso não é tão útil para o pep8 CHECKING, pois está disponível principalmente no Eclispe - mas achei ótimo para o autopep8! Obrigado
tom stratton

12
  1. Abra seu Eclipse
  2. Vá para a Ajuda e selecione Instalar Novo Software
  3. Clique no botão Adicionar e uma caixa de diálogo "Adicionar Repositório" aparecerá
  4. Você pode usar qualquer nome que quiser para ele. (Eu usei PyDev)
  5. Para o local, digite "http://pydev.org/updates"
  6. Clique OK.
  7. Você está agora no processo de instalação. Apenas espere terminar.
  8. Após a instalação, feche o Eclipse e abra-o novamente.
  9. Agora que o PyDev está instalado em seu Eclipse, vá para Janela-> Preferências
  10. Escolha PyDev-> Editor-> Análise de Código
  11. Vá para a guia pep8.py
  12. Escolha o botão de opção para aviso e clique em OK.

É isso aí. Seu Eclipse IDE agora está integrado ao PEP8. Para executar pep8.py automaticamente, clique com o botão direito no editor de projeto. Escolha PyDev e clique em "análise de código". Em sua guia de problemas em sua área de trabalho, você verá avisos que apontam para a linha que você cometeu uma violação no PEP8 (se você violou).


Algo muito estranho é que não importa o quanto eu tentei configurar o pep8, os avisos e marcadores de informações no editor não apareceram. Isso até eu adicionar a visualização "Problemas", e de repente funcionou como um encanto ...
Idade

10

ANÁLISE DE CÓDIGO:

No Eclipse ( PyDev ), se você deseja codificar a análise usando o estilo pep8, então

Vá para: Windows -> Preferências -> PyDev -> Editor -> Análise de código -> guia pep8.py e selecione Aviso, clique em Aplicar e no botão OK.

Em seu código python, se você validar o estilo de codificação pep8, ele lhe dará um aviso

FORMATURA AUTOMÁTICA DE CÓDIGO:

No Eclipse ( PyDev ), se você deseja formatar automaticamente o código python usando o estilo pep8,

Vá para: Windows -> Preferências -> PyDev -> Editor -> Estilo de código -> Formatador de código -> clique na caixa de seleção ( Usar autopep8.py para formatação de console? ) Clique em Aplicar e no botão OK.

Se você quiser aumentar o comprimento da linha (o padrão pep8 é 79) abaixo de Use autopep8.py, você pode definir o tipo de parâmetro --max-line-length=150se definir o comprimento máximo para 150

Se você pressionar o atalho de formatação automática ( Ctrl + Shift + f ), ele formatará automaticamente seu código Python como o estilo pep8


6

Isso ainda não parece estar totalmente integrado ao Pydev.

Como sugerido nesta postagem ,

[it] exigiria a alteração do código dentro do pydev - uma opção flexível seria adicionar preferências para permitir que o usuário escolha a quais padrões ele deseja corresponder para a criação de hiperlinks (e dizer qual grupo na correspondência é a linha e qual é o Arquivo)...

Ou você pode experimentá-lo em código permanente com: org.python.pydev.debug.ui.PythonConsoleLineTracker (deve ser muito fácil de entender).

Existe um pedido apenas para isso, mas parece que ainda está aberto 1 ano após sua criação ...


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.