검토 : 6 개의 Python IDE가 매트로 이동

언어의 인기와 성공을 측정하는 데 사용할 수있는 모든 측정 항목 중 하나는 해당 언어에 사용할 수있는 개발 환경의 수입니다. 지난 몇 년 동안 Python의 인기가 높아짐에 따라 일반 프로그래머와 과학 작업 및 분석 프로그래밍과 같은 작업에 Python을 사용하는 사용자를 대상으로하는 도구가 포함 된 IDE 지원의 강력한 물결이 발생했습니다.

Python을 지원하는이 6 개의 IDE는 다양한 사용 사례를 다룹니다. 일부는 추가 기능을 통해 Python을 지원하거나 Python 관련 확장이있는 다른 제품의 재 패키징을 지원하는 다국어 IDE입니다. 많은 사람들이 범용 솔루션으로 유용하기 위해 노력하고 있지만 각각은 약간 다른 Python 개발자 청중에게 이익이됩니다.

오늘날 많은 IDE는 특정 언어로 개발을 촉진하기 위해 내부에서 작성된 앱이 아니라 특정 언어 및 작업을위한 플러그인이 장착 된 프레임 워크입니다. 이를 위해 IDE 선택은 동일한 제품군의 다른 IDE에 대한 경험이 있는지 여부에 따라 결정될 수 있습니다.

관련 비디오 : Python이 프로그래밍을 쉽게 만드는 이유

그러한 경험이없는 사람들에게 PyCharm은 시작하기에 가장 좋은 곳 중 하나입니다. 초보자에게 친숙하지만 기능 세트에 방해가되지는 않습니다. 실제로 여기에 프로파일 링 된 모든 IDE 중에서 가장 유용한 기능을 제공합니다. 이러한 기능의 대부분은 유료 버전의 제품에서만 사용할 수 있지만 무료 버전에는 초보 개발자가 시작하는 데 도움이되는 많은 기능이 있습니다.

LiClipse 및 Python Tools for Visual Studio (PTVS)는 이미 Eclipse 및 Microsoft Visual Studio에 각각 익숙한 개발자에게 좋은 선택입니다. 둘 다 Python을 아주 훌륭하게 통합하는 완전한 개발 환경입니다. 그러나 그들은 또한 많은인지 오버 헤드를 수반하는 광대하고 복잡한 애플리케이션이기도합니다. 둘 중 하나를 이미 마스터했다면 Python 작업에 좋은 선택이 될 것입니다.

ActiveState의 Komodo IDE의 Python 화신은 이미 다른 언어에 대해 Komodo IDE를 사용한 사람들에게 자연스러운 것이며, 그 매력을 넓혀야하는 고유 한 기능 (예 : 정규 표현식 평가 기)이 있습니다. Komodo는 초보자와 전문가 모두에게 면밀히 살펴볼 가치가 있습니다.

Spyder는 일반적으로 Python 용 개발 플랫폼이 아닌 Anaconda와 같은 배포판에서 IPython 또는 기타 과학 컴퓨팅 도구로 작업하는 데 가장 적합합니다. 마지막으로, IDLE은 빠르고 간단한 스크립팅을 위해 가장 잘 예약되어 있으며, 그 계산에도 불구하고 Python 구문 플러그인을 사용하는 독립 실행 형 코드 편집기로 뒷자리를 차지할 수 있습니다. 즉, IDLE은 필요할 때 항상 거기에 있습니다.

게으른

대부분의 Python 설치에 포함 된 개발 환경 인 IDLE은 기본 Python IDE로 간주 될 수 있습니다. 그러나 IDLE은 완전한 IDE를 대체 할 수 없습니다. 멋진 파일 편집기와 비슷합니다. 그럼에도 불구하고 IDLE은 Python 개발자가 언어를 익힐 수있는 기본 옵션 중 하나로 남아 있으며 특히 Python 3.5에서 각 Python 릴리스에서 점진적으로 향상되었습니다. (IDLE을 개선하기위한 최근 노력에 대한 흥미로운 논의는이 페이지를 참조하십시오.)

IDLE은 Python의 기본 설치와 함께 제공되는 구성 요소로 완전히 빌드됩니다. CPython 인터프리터 자체를 제외하고 여기에는 Tkinter 인터페이스 툴킷이 포함됩니다. 이러한 방식으로 IDLE을 구축하는 한 가지 장점은 일관된 동작 집합으로 교차 플랫폼에서 실행된다는 것입니다. 단점으로 인터페이스가 매우 느릴 수 있습니다. 예를 들어 스크립트에서 콘솔로 많은 양의 텍스트를 인쇄하는 것은 스크립트가 명령 줄에서 직접 실행되는 경우보다 훨씬 느립니다.

IDLE에는 몇 가지 즉각적인 편의가 있습니다. 내장 된 읽기 평가 인쇄 루프 (REPL) 또는 Python 용 대화 형 콘솔을 자랑합니다. 실제로이 대화 형 셸은 빈 편집기가 아니라 IDLE이 시작될 때 사용자에게 표시되는 첫 번째 항목입니다. 또한 IDLE에는 Ctrl-Space를 누를 때 키워드 또는 변수에 대한 제안 및 통합 디버거와 같은 다른 IDE에서 볼 수있는 몇 가지 도구가 포함되어 있습니다. 그러나 이러한 기능 대부분에 대한 구현은 다른 IDE에 비해 원시적이며 Tkinter의 제한된 UI 구성 요소 선택에 의해 숨겨져 있습니다. 그리고 IDLE (이러한 프로젝트 중 하나는 IdleX)에 사용할 수있는 타사 추가 기능 모음은 다른 IDE에서 찾을 수있는 것만 큼 풍부하지 않습니다.

요컨대, IDLE은 두 가지 시나리오에 가장 적합합니다. 첫 번째는 빠른 Python 스크립트를 함께 해킹하고이를 위해 사전 구성된 환경이 필요한 경우입니다. 두 번째는 그냥 다리를 잡는 초보자를위한 것입니다. 초보자도 빠르게 더 강력한 옵션으로 졸업해야합니다.

스파이더

Spyder는 "Scientific PYthon Development EnviRonment"의 약자입니다. Python을 사용한 과학 컴퓨팅을위한 워크 벤치로 사용하기위한 것으로, IDE의 기능 세트, 패키징 및 전반적인 동작에 반영됩니다. Spyder에는 일반적인 Python 개발에 유용한 기능이 있지만 주로 IPython 및 과학 컴퓨팅 패키지로 작업하지 않는 한 다른 IDE를 사용하는 것이 좋습니다.

Spyder를 범용 Python 개발 환경으로 사용하지 않는 가장 큰 이유는 기능 세트가 아니라 설정 프로세스입니다. Spyder는 Visual Studio 또는 PyCharm과 같은 제품 방식으로 독립 실행 형 실행 파일로 제공되지 않습니다. 대신 Python 패키지로 설치됩니다. Spyder에 대한 가장 쉬운 경로는 Continuum Analytics의 Anaconda와 같이 사전로드 된 Python 배포를 설치하는 것입니다.

1. 확장으로 사용 가능하지만 구문 검사 만 지원합니다. 2. Eclipse 애드온으로 사용 가능합니다. 3. 상용 버전으로 제공됩니다. 4. 통합 지침을 참조하십시오. 5. 호스트에 설치된 버전 제어 시스템을 사용합니다.
  게으른 코모도 LiClipse PyCharm PTVS 스파이더
Cython 지원 아니 예 (1) 아니 예 (3) 아니 아니
버전 관리 아니 예 (5)
그래픽 디버거 아니 아니
IPython 지원 아니 아니 아니 예 (4)
매크로 아니 예 (2) 예 (2) 아니
여러 통역사 아니
리팩토링 아니 아니
데이터베이스 통합 아니 예 (2) 예 (3) 아니
HTML / CSS / 자바 스크립트 아니 예 (3) 아니

Spyder에는 기존 Python 콘솔을 대체하는 IPython이 포함되어 있습니다. IPython에 명령을 입력하면 결과를 대화식으로 탐색 할 수 있습니다. 각 명령은 "셀"또는 출력을 저장하고 대조 할 수있는 코드 세그먼트로 취급 할 수 있습니다.

Spyder는 셀 동작을 코드 편집기에 통합하여이를 추가합니다. 특별히 형식이 지정된 주석을 Python 스크립트에 삽입하면이를 셀로 분할하고 IPython 인터페이스에서 해당 셀을 순서에 관계없이 실행할 수 있습니다. 이런 식으로 Spyder를 사용하여 나중에 IPython 노트북에 배치 할 셀의 프로토 타입을 쉽게 만들 수 있습니다.

디버깅을 위해 Spyder는 Python의 내장 Pdb 디버거를 사용합니다. Pdb 용 명령 줄 인터페이스는 Winpdb 그래픽 디버거를 선택적 추가 기능으로 설치할 수 있지만 PyCharm 또는 LiClipse에있는보다 정교한 그래픽 디버거와는 다릅니다. 불행히도 Python 2 (특히 wxPython)에서만 사용할 수있는 패키지에 대한 종속성이 있기 때문에 Python 3과 함께 Winpdb를 사용할 수 없습니다. 이를 위해 대부분의 사람들은 Pdb를 고수 할 것입니다.

Spyder는 Git 및 Mercurial과 같은 버전 제어 시스템과의 통합에서 다른 IDE에 비해 제한적입니다. 초기화 된 프로젝트 리포지토리에서 작업하는 경우 해당 프로젝트의 파일은 리포지토리에 대한 마우스 오른쪽 버튼 클릭 컨텍스트 메뉴 항목을 표시합니다. 즉, Spyder에 직접 내장 된 버전 제어 메커니즘이 없습니다. 시스템 경로에서 사용할 수있는 실행 파일과 함께 시스템 수준에 적절한 버전 제어 응용 프로그램이 이미 설치되어 있어야합니다. Spyder에는 UI에 리포지토리를 관리하는 도구도 포함되어 있지 않습니다. 이러한 단점은 이미 리포지토리를 직접 관리하는 습관이 있다면 그렇게 나쁘지는 않지만 그렇지 않은 경우 추가적인 장애물이됩니다.

Spyder에는 일반적인 Python 개발에 유용한 기능이 있습니다. 내 눈을 즉시 사로 잡은 것은 Spyder 인터페이스의 변수 탐색기 창입니다. IPython에 명령을 입력하면 생성 된 모든 변수가 거기에 기록되고 대화식으로 탐색 할 수 있습니다. 또 다른 유용한 도구는 User Module Deleter입니다. 이를 활성화하면 Python 인터프리터가 Python 스크립트를 실행할 때 모든 모듈을 처음부터 다시로드합니다. 이렇게하면 전체 응용 프로그램을 다시 시작하지 않고도 모듈 코드의 변경 사항을 실행중인 프로그램에 적용 할 수 있습니다.

ActiveState 코모도 IDE

ActiveState의 IDE 제품 라인에는 거의 모든 주요 언어 버전이 포함되어 있습니다. 이에 대한 회사의 접근 방식은 LiClipse가 작동하는 방식과 약간 비슷합니다. 기본 제품 (이 경우 Komodo IDE)을 가져와 Python 개발 용 애드온을 추가합니다.

Komodo는 다른 언어에 대한 Komodo의 화신에 이미 익숙한 사람들에게 가장 적합합니다. 그러한 경험을 가진 사람들은 Python 제품에 뛰어 드는 데 아무런 문제가 없을 것입니다. 추위에 빠질 경우 주목할만한 UI 단점이 있습니다. 예를 들어 앱 메뉴 표시 줄은 기본적으로 표시되지 않습니다. 오른쪽 상단의 햄버거 메뉴를 클릭하거나 Alt 키를 눌러 표시해야합니다. 문제를 깨끗하고 단순하게 유지하기위한 것이지만 일부 취향에는 너무 미니멀 할 수 있습니다.

반면에 일부 인터페이스 선택은 즉시 매력적입니다. 특히 편집중인 파일의 어느 부분 으로든 한 눈에 볼 수있는 편집기에서 축소 된 코드 미리보기 인 "미니 맵"이 마음에 들었습니다. LiClipse에는 유사한 기능이 있지만 Komodo의 구현은 작업하기가 더 쉽습니다.

대부분의 Python IDE에는 Python 관련 구문 검사 또는 코드 린팅과 같은 기능이 있습니다. Komodo IDE에는 모든 것이 있지만 동시에 언어 버전 2와 3을 지원하도록 설계되었습니다. 예를 들어 Python 셸을 시작하고 시스템 경로에 두 버전의 Python을 모두 사용할 수있는 인터프리터가있는 경우 두 버전 중 하나를 명시 적으로 선택할 수 있습니다. 저는 종종 Python 2와 Python 3에서 주어진 명령문의 동작에 대한 빠른 테스트를 나란히 실행해야했는데, 이것이 그렇게하는 편리한 방법입니다.

Komodo는 애플리케이션에 대해 다중 실행 또는 디버그 구성을 적용 할 수있는 옵션을 제공하지만 LiClipse의 유사한 기능보다 약간 덜 유연합니다. 앱을 시작하면 프로그램에 적용 할 프로필을 선택할 수 있습니다. 프로필 선택기를 비활성화하고 바로 프로필 실행으로 이동할 수 있지만 비활성화는 특정 프로젝트가 아닌 응용 프로그램 전체에 대해서만 수행 할 수 있습니다. 저는 주어진 프로필을 선택하거나 클릭 한 번으로 가장 최근에 사용한 프로필을 시작할 수있는 LiClipse의 도구 모음 드롭 다운 메뉴를 선호합니다.

정말 멋진 포함 사항 중 하나는 정규식 툴킷입니다. 이 도구의 한 창에 정규식을 입력하고 두 번째 창에 적용 할 샘플 데이터를 제공하면 결과가 세 번째 창에 나타납니다. 이 도구는 또한 Python이 포함 된 다양한 정규식을 지원하며 일치, 분할 및 바꾸기 작업의 결과를 보여줍니다. 나는 작동하는 정규식을 만드는 데 항상 어려움을 겪고 있으므로이 도구는 신의 선물입니다.

즉시 사용 가능한 또 다른 유용한 기능은 Python 용 공통 코드 조각 카탈로그입니다. 예를 들어 "walk"를 클릭하면 편집기가 상용구 코드를 삽입하여 Python의 os.walk함수를 사용 하여 디렉토리를 탐색합니다.이 함수는 구문과 사용법을 기억할 수 없습니다. 다른 언어도 포함됩니다. 예를 들어 표준 문제 HTML을 준비중인 Django 템플릿에 넣어야하는 경우 Komodo가 해결해드립니다.

기본 Python 배포는 기본적으로 SQLite를 지원합니다. Komodo IDE는 SQLite 데이터베이스 용 기본 제공 탐색기를 제공하여이를 보완합니다. 마치 MySQL 또는 Microsoft SQL Server 용으로 제공되는 "워크 벤치"데스크톱 앱의 일부를 벗어난 버전과 같습니다. 인터페이스는 투박하고 매력적이지 않지만 빠르고 더러운 검사 또는 데이터베이스 스팟 편집에 완벽하게 적합합니다. 완전한 데이터베이스 IDE 역할을하기위한 것이 아닙니다.

특별히 Python을 대상으로하지 않더라도 Komodo에서 다른 많은 유용한 기능을 찾을 수 있습니다. 매크로 레코더를 사용하면 일반적인 작업을 기록하고 재생할 수 있지만 앱을 시작할 때 사용할 앱 프로필 선택과 같은 일부 유형의 작업은 기록하지 않는 것 같습니다. 또 다른 기능은 Komodo 사용자 간의 실시간 공동 작업을 허용하지만 서비스에 액세스하려면 ActiveState 계정에 가입해야합니다.

LiClipse 

Eclipse IDE는 종종 느리고 과부하로 비판을 받지만 광범위한 언어 지원 및 개발 추가 기능 갤러리로 인해 강력하고 가치있는 도구가됩니다. Python은 PyDev 애드온을 통해 Eclipse에서 지원됩니다. Python 개발 이외의 용도로 Eclipse를 사용하는 경우 가장 좋은 방법은 LiClipse를 사용하는 것입니다. (이 리뷰 전체에서 LiClipse와 PyDev가 함께 제공하는 기능 번들의 약어로 LiClipse를 사용할 것입니다.)

LiClipse는 PyDev로 Eclipse를 리 패키징 한 것입니다. 사용자 경험을 향상시키기위한 다른 Eclipse 구성 요소도 많이 있습니다. LiClipse가 시작되면 LiClipse 브랜딩 및 아이콘을 제외하고 일반 Eclipse 버전과 매우 유사하게 보이고 작동하므로 숙련 된 Eclipse 사용자는 원하는대로 작업 공간을 구성하는 데 많은 어려움을 겪지 않아야합니다. Eclipse에 익숙 하지 않은 경우 Eclipse의 작업 공간이 작동하는 방식을 배우는 데 시간이 필요합니다 (Eclipse의이 측면은 일상적으로 비판을받습니다). 그런 의미에서 LiClipse는 이미 Eclipse에 익숙한 사람들에게 가장 적합합니다.

스코어 카드 능력 (30 %) 성능 (10 %) 사용 용이성 (20 %) 문서 (20 %) 추가 기능 (20 %) 전체 점수 (100 %)
유휴 3.5.1 6 7 8 7 5 6.5
코모도 IDE 10.1.1 8 8 7 8 8 7.8
LiClipse 3.1 9 7 7 8 9 8.2
PyCharm 2016.2.3 9 8 9 8 8 8.5
스파이더 3.0.0 7 7 7 7 6 6.8
Visual Studio 2015 용 Python 도구 2.2 9 8 7 9 9 8.5