Eclipse에서 pep8.py를 통합하는 방법은 무엇입니까?


90

약간의 배경 :

  • PEP 8Python 코드 용 스타일 가이드입니다 . 모든 파이썬 프로그래머가 따라야하는 규칙이 포함되어 있습니다.
  • pep8.py 는 PEP 8에 따라 주어진 파이썬 스크립트의 코드 형식을 확인하는 (매우 유용한) 스크립트입니다.
  • Eclipse 는 훌륭한 IDE입니다. 으로 의 PyDev 확장, 그 파이썬을 개발하는 데 사용할 수

스크립팅 할 때 pep8.py를 수동으로 실행하지만 더 큰 프로젝트에서는 Eclipse를 사용하는 것을 선호합니다. Eclipse / Pydev에 pep8.py를 통합하면 프로젝트의 모든 파일에서 자동으로 실행되고 경고가 포함 된 행을 가리킬 수 있으므로 정말 유용합니다. 분명한 방법이 있을지 모르지만 아직 찾지 못했습니다.

질문 : Eclipse에서 pep8.py를 통합하는 방법무엇입니까?


3
이제 기본 pep8 통합이 있습니다. 참조 : stackoverflow.com/questions/399956/…
Fabio Zadrozny

1
Dmitry Kochkin 의 답변 을 수락 한 이후 상황이 변경 되었으므로 수락 된 답변을 Fabio Zadrozny 의 답변 또는 angelo.bixly 의 답변으로 변경하는 것이 좋습니다 . 이렇게하면 저와 같이 Google에서이 질문에 온 미래의 방문자가 가장 최신 정보를 먼저 찾을 수 있습니다. 그렇지 않으면 이러한 답변이 맨 위로 올라 오는 데 시간이 오래 걸릴 수 있습니다.
Mark Booth

답변:


88

PyDev 2.3.0 pep8부터는 기본적으로 PyDev에 통합되어 있으며 기본 버전도 함께 제공됩니다.

창 열기> 환경 설정

PyDev> Editor> Code Analysis> pep8.py에서 활성화해야합니다.

오류 / 경고는 마커로 표시되어야합니다 (일반 코드 분석의 다른 항목).

파일이 분석되지 않은 경우 https://stackoverflow.com/a/31001619/832230을 참조 하십시오 .


6
기본적으로 많은 경고를 표시합니다. 그러나 명령 줄에서 실행하면 더 많이 표시됩니다. 명령 줄에서 실행할 때 표시되는대로 Eclipse의 모든 경고를 표시하도록 어떻게 설득 할 수 있습니까? 옵션은 동일합니다. 또한 pep8 출력을 콘솔로 리디렉션하면 아무 작업도 수행되지 않습니다.
Krystian Cybulski

2
PyDev는 내부 Jython 버전 (현재 2.2.1)을 사용하기 때문에 현재 이전 버전을 사용하고 있습니다. 결과를 얻기 위해 외부에서 실행하거나 pep8.py의 최신 버전을 지원할 수 있도록 내부 자이 썬을 업데이트 할 계획이 있습니다.
Fabio Zadrozny 2014

분명히 이것은 PyDev 4.2.0에서 작동하지 않으며 경고 또는 오류 모드에서 마커가 표시되지 않습니다.
Luís de Sousa

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}"(이것은 현재 활성화 된 파일을 사용합니다.)

Common 탭으로 이동 하여 Allocate Console이 확인란이 선택 .

이 접근 방식의 이점은 패키지의 최신 버전을 사용할 수 있으며 PyDev에 포함 된 이전 버전으로 제한되지 않는다는 것입니다. pylint비슷한 방식으로 설정하는 것에 대해 궁금한 경우이 답변을 참조하십시오 .


1
변수 참조 빈 선택 오류가 발생하는 경우 : $ {container_loc} 소스 폴더를 PYTHONPATH에 추가하는 것을 잊지 마십시오 (기존 프로젝트를 작업 공간으로 가져 오면 거기에 없을 수 있음). 프로젝트 이름> 속성> PyDev-PYTHONPATH> 소스 폴더 탭을 마우스 오른쪽 버튼으로 클릭하고 소스 폴더 추가를 클릭 합니다 . 매력처럼 작동해야합니다.
berni

2
이제 기본 pep8 통합이 있습니다. 참조 : stackoverflow.com/a/8532188/110451
Fabio Zadrozny 2011

1
이것은 Eclispe에서 대부분 사용할 수 있기 때문에 pep8 CHECKING에는 유용하지 않습니다.하지만 autopep8에는 훌륭하다는 것을 알았습니다! 감사합니다
Tom Stratton 2013 년

12
  1. Eclipse를 엽니 다.
  2. 도움말로 이동하여 새 소프트웨어 설치를 선택하십시오.
  3. 추가 버튼을 클릭하면 "저장소 추가"대화 상자가 나타납니다.
  4. 원하는 이름을 사용할 수 있습니다. (PyDev를 사용했습니다)
  5. 위치로 "http://pydev.org/updates"를 입력합니다.
  6. 확인을 클릭하십시오.
  7. 이제 설치 중입니다. 완료 될 때까지 기다리십시오.
  8. 설치 후 Eclipse를 닫고 다시 엽니 다.
  9. 이제 PyDev가 Eclipse에 설치되었으므로 Window-> Preferences로 이동하십시오.
  10. PyDev-> Editor-> Code Analysis를 선택합니다.
  11. pep8.py 탭으로 이동
  12. 경고 라디오 버튼을 선택하고 확인을 클릭합니다.

그게 다야. 이제 Eclipse IDE가 PEP8과 통합되었습니다. pep8.py를 자동으로 실행하려면 프로젝트 편집기를 마우스 오른쪽 버튼으로 클릭하십시오. PyDev를 선택하고 "코드 분석"을 클릭합니다. 작업 공간의 문제 탭에서 PEP8에서 위반 한 행을 가리키는 경고를 볼 수 있습니다 (위반 한 경우).


매우 이상한 점은 pep8을 구성하려고 아무리 노력해도 편집기의 경고 및 정보 표시가 나타나지 않는다는 것입니다. 그 난 다음 갑자기 마법처럼 일했다 "문제점"보기 ... 추가 년대까지
Agey

10

코드 분석 :

Eclipse ( PyDev )에서 분석코딩 하려는 경우 pep8 스타일을 사용하여

Windows-> Preferences-> PyDev- > Editor- > Code Analysis-> pep8.py 탭으로 이동하여 경고를 선택합니다. 하고 적용을 클릭하고 확인 버튼을 클릭합니다.

파이썬 코드에서 pep8 코딩 스타일의 유효성을 검사하면 경고가 표시됩니다.

자동 코드 포맷 :

Eclipse ( PyDev )에서 pep8 스타일을 사용하여 Python 코드 를 자동 형식화 하려면

Windows-> 환경 설정-> PyDev-> 편집기-> 코드 스타일-> 코드 포맷터-> 확인란을 클릭합니다 ( 콘솔 포맷에 autopep8.py 사용? ) 적용 및 확인 버튼을 클릭합니다.

Autopep8.py 사용 아래의 줄 길이 (pep8 기본값은 79)를 늘리려면 매개 변수 유형을 설정할 수 있습니다. --max-line-length=150 최대 길이를 150으로 설정하면 을 설정할

자동 서식 단축키 ( Ctrl + Shift + f )를 누르면 pep8 스타일과 같은 Python 코드의 형식이 자동으로 지정됩니다.


6

아직 Pydev에 완전히 통합되지 않은 것 같습니다.

에서 제안한 것처럼 이 게시물에 ,

[그것은] pydev 내에서 코드를 변경해야합니다. 유연한 옵션은 사용자가 하이퍼 링크를 만들기 위해 일치시킬 패턴을 선택할 수 있도록 기본 설정을 추가하는 것입니다 (그리고 일치하는 그룹이 줄이고 어떤 그룹이 파일)...

또는 org.python.pydev.debug.ui.PythonConsoleLineTracker (이해하기 쉬울 것임)로 하드 코딩 된 플레이를 시도 할 수 있습니다 .

요청이 존재합니까 단지에 대한,하지만 여전히 생성 한 후 일년 개방 될 것으로 보인다 ...


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.