-
Qt 기반 리치 GUI 콘솔
IPython 팀은 Qt 프레임워크 기반 GUI 콘솔을 개발했는데, 이는 임베디드 이미지, 멀티라인 편집 및 구문 강조 표시와 같은 풍부한 텍스트 위젯이 제공하는 기능과 단말기 전용 애플리케이션의 특징을 결합하도록 설계되었다. PyQt 또는 PySide가 설치된 경우 다음을 통해 인라인 플롯으로 응용 프로그램을 시작할 수 있음. Qt 콘솔은 탭의 여러 IPython 프로세스를 시작할 수 있으므로 태스크 간에 전환할 수 있다. 그것은 또한 IPython HTML Notebook 애플리케이션과 프로세스를 공유할 수 있는데, 나중에 내가 강조할 것이다.Matplotlib 통합 및 Pylab 모드
IPython이 과학 컴퓨팅에 널리 사용되는 이유의 일부는 그것이 matplotlib와 다른 GUI 툴킷과 같은 도서관의 동반자로서 디자인되었기 때문이다. 만약 당신이 전에 matplotlib를 사용해본 적이 있다면 걱정하지 마라; 그것은 이 책의 뒷부분에서 훨씬 더 자세히 논의될 것이다.
일반 Python 셸에 matplotlib 플롯 창을 만들면 플롯 창이 닫힐 때까지 Python 세션의 GUI 이벤트 루프가 "제어를 취함"하는 것이 슬프다. 그것은 상호작용 데이터 분석과 시각화에는 적용되지 않을 것이고, 그래서 IPython은 쉘과 원활하게 작동하도록 각 GUI 프레임워크에 대해 특별한 처리를 시행했다.명령 기록 사용
IPython은 실행하는 각 명령의 텍스트를 포함하는 작은 온 디스크 데이터베이스를 유지 관리한다. 이는 다양한 용도로 사용된다.
• 최소한의 입력으로 이전에 실행된 명령 검색, 완료 및 실행
• 세션 간에 명령 기록 유지
• 입력/출력 기록을 파일에 기록명령 기록 검색 및 재사용
이전 명령을 검색하고 실행할 수 있는 것은 많은 사람들에게 가장 유용한 기능이다. IPython은 반복적인 인터렉티브 코드 개발 워크플로우를 장려하기 때문에, 당신은 종종 실행 명령이나 다른 코드 조각과 같은 동일한 명령을 반복하는 것을 발견할 수 있다. 그리고 나서 스크립트의 결과를 탐구했다. 그것이 성공적으로 실행되었다고 가정할 때 그러나, 당신이 부정확한 계산을 했다는 것을 발견했다. 문제를 파악하고 data_script.py를 수정한 후 실행 명령의 문자를 몇 개 입력하기 시작하여 다음 중 하나를 누르십시오.
Ctrl-P 키 조합 또는 상향 화살표 키 그러면 입력한 문자와 일치하는 첫 번째 이전 명령이 있는지 명령 기록을 검색한다. Ctrl-P나 상향 화살표를 여러 번 누르면 이력을 계속 검색하게 된다. 만약 당신이 실행하고 싶은 명령을 넘겨준다면, 두려워하지 마라. Ctrl-N이나 아래 화살표를 눌러 명령 이력을 통해 전진할 수 있다. 이 일을 몇 번 하고 나면 아무 생각 없이 이 열쇠들을 누르기 시작할지도 몰라! Ctrl-R을 사용하면 바쉬 쉘과 같이 UNIX 스타일의 쉘에 사용되는 리딩라인에서 제공하는 것과 동일한 부분적인 증분 검색 기능을 얻을 수 있다. 윈도우에서, 레더라인 기능은 IPython에 의해 에뮬레이션된다.IPython 로깅은 언제든지 활성화할 수 있으며 이전 명령을 포함한 전체 세션을 기록한다. 따라서, 만약 당신이 어떤 일을 하고 있고 당신이 한 모든 것을 저장하고 싶다고 결정한다면, 당신은 간단히 로깅을 할 수 있다. 출력 파일 경로 변경 및 컴패니언 기능 로그오프, 로그온, 로그 상태 및 로그 스톱을 비롯한 자세한 옵션은 로그스타트의 문서 문자열을 참조하십시오. 운영 체제와 상호작용하는 IPython의 또 다른 중요한 특징은 운영 체제 쉘과 매우 강력한 통합을 제공한다는 것이다. 이는 무엇보다도 IPython을 종료하지 않고도 윈도우즈 또는 UNIX 리눅스 OS X 셸에서처럼 대부분의 표준 명령줄 작업을 수행할 수 있다는 것을 의미한다. 여기에는 셸 명령 실행, 디렉터리 변경 및 명령의 결과를 Python 개체 목록 또는 문자열에 저장하는 작업이 포함된다. 또한 간단한 셸 명령 앨리어싱과 디렉토리 북마크 기능도 있다.
셸 명령 및 별칭
IPython에서 느낌표로 줄을 시작하는 것! 또는 bang은 IPython에게 시스템 쉘의 bang 이후 모든 것을 실행하라고 말한다. 즉, OS에 따라 rm 또는 del을 사용하여 파일을 삭제하거나 디렉터리를 변경하거나 다른 프로세스를 실행할 수 있다. IPython에서 제어권을 빼앗는 프로세스를 시작하는 것, 심지어 다른 Python 통역기도 가능하다. 셸 명령의 콘솔 출력은 탈출한 식을 변수에 할당하여 변수에 저장할 수 있다. 예를 들어, 이더넷을 통해 인터넷에 연결된 Linux 기반 시스템에서 IP 주소를 Python 변수로 가져올 수 있으므로 반환된 Python 개체 ip_info는 실제로 콘솔 출력의 다양한 버전을 포함하는 사용자 정의 목록 유형이다. IPython은 또한 사용 시 현재 환경에 정의된 Python 값을 대체할 수 있다. 세션이 닫히는 즉시 IPython이 대화형으로 정의한 별칭을 포기한다는 것을 알게 될 것이다. 영구 별칭을 만들려면 구성 시스템을 사용해야 한다.
디렉터리 책갈피 시스템
IPython은 당신이 매우 쉽게 뛰어 다닐 수 있도록 공통 디렉토리의 별칭을 저장할 수 있는 간단한 디렉토리 북마크 시스템을 가지고 있다. 예를 들어, 나는 Dropbox의 열렬한 사용자라서 내 Dropbox로 디렉토리를 쉽게 변경할 수 있도록 북마크를 정의할 수 있다'IT의 이해' 카테고리의 다른 글
IPython HTML 이해 (0) 2019.11.12 소프트웨어 개발 도구 (0) 2019.11.12 IPython 대화형 컴퓨팅 개발 (0) 2019.11.12 Python 2 그리고 Python 3 (0) 2019.11.11 python 버전 설치 (0) 2019.11.11