파이썬을 처음 접하고 잘 적응하기 어려웠던 것이 쥬피터 노트북(Jupyter notebook)이었습니다. 아무리 파이썬이 스크립트 언어라고 하더라도, 굳이 몇 줄씩 나눠서 실행을 하면서 그 결과를 보는 것이 얼마나 큰 개발 효율이 있을까 의아했었는데요, 쓰다보니 적응이 되고 알아갈수록 좋은 구석이 많이 있다는 점을 느낄 수 있었습니다. 아래 동영상 강좌도 꽤 좋았습니다.

https://youtu.be/SLPo0o_HArs


그나저나 쥬피터 노트북을 사용하다 보면 소스 코드의 폰트가 맘에 들지 않았는데요, 인터넷을 찾아보니 폰트를 바꾸는 방법이 설명이 되어 있어서 적용해봤습니다. (http://pinkwink.kr/1039 참고)


일단 아래 모양이 쥬피터 노트북 기본 모습입니다.


아마도 Arial 폰트가 아닐까 싶은데요, 글씨도 작고 코드 가독성도 떨어집니다. 이 폰트를 제가 즐겨쓰는 Consolas로 변경하고, 폰트 크기도 14로 변경하려고 합니다.


일단 Windows 환경이라면 C:\Users\<사용자ID>\.jupyter 폴더에 쥬피터 노트북 설정이 있는데요, 그 아래에 custom 이라는 이름의 폴더를 만들고, 그 아래에 custom.css 라는 텍스트 파일을 만듧니다. 그리고 그 파일에 아래와 같이 css 코드를 입력합니다.

.CodeMirror pre {font-family: Consolas; font-size: 14pt; line-height: 140%;}


css 파일 전체 패스명이 c:\Users\<사용자 ID>\.jupyter\custom\custom.css 임을 확인하세요. 그리고 다시 쥬피터 노트북에서 소스 코드를 확인하면 아래와 같이 화면이 나타납니다.


글씨가 큼직하니 보기 좋네요~ 대문자 i랑 소문자 L도 구분이 잘 됩니다.




'Study > Python' 카테고리의 다른 글

Notepad++ 에서 Python 실행하기  (0) 2017.07.31
Posted by kkokkal
:

Visual Studio 2017을 이용하여 OpenCV 메인 소스와 OpenCV Extra module 소스를 모두 빌드하는 방법을 설명합니다.

더불어 Python 3.x 버전에서 OpenCV 3.3을 사용하는 환경을 구축하는 방법까지 설명합니다.



1. OpenCV 3.3.0 소스 코드 다운로드
   - https://github.com/opencv/opencv/releases
   - https://github.com/opencv/opencv_contrib/releases

2. Anaconda 다운로드 & 설치: https://www.continuum.io/downloads

3. CMake 다운로드 & 설치: https://cmake.org/download/

4. C:\opencv 폴더에 OpenCV 3.3.0 소스 코드 압축 풀기

   - C:\opencv ┬ mybuild
                    ├ opencv-3.3.0
                    └ opencv_contrib-3.3.0

5. CMake를 이용하여 opencv.sln 파일 생성

6. Visual Studio 2017을 이용하여 빌드 (Release & Debug)


Posted by kkokkal
:

Notepad++에서 Python을 실행하는 방법에 대해 정리해보겠습니다. 사실 요즘은 Notepad++보다 더 화려하고 Python과도 잘 어울리는 편집기도 많이 있는데요(예를 들어, Sublime Text, Atom, Visual Studio Code...), 개인적으로는 아직까지 Notepad++가 편하고 무난해서 자주 사용하고 있습니다.


Notepad++에서 Python 코드를 편집하고, Notepad++ 안에서 곧바로 실행시켜서 결과를 확인하려면 일단 Notepad++의 플러그인을 설치해야 하는데요, 설치할 플러그인의 이름은 NppExec 입니다. 말 그대로 Npp, 노트패드 플러스 플러스에서 Exec, 무언가를 실행할 수 있게 해주는 플러그인입니다. NppExec 플러그인은 Notepad++ 메뉴 중 [플러그인] -> [Plugin Manager] -> [Show Plugin Manager]를 선택하여 나타나는 리스트 중에 NppExec를 선택하여 추가할 수 있습니다. 만약 Notepad++ 64비트 버전을 사용하고 있다면 Plugin Manager를 수동으로 미리 설치를 해야 하는데요, 아래 링크에서 최신 버전을 다운받아 Notepad++ 설치 폴더 아래에 적당히 압축을 풀어주면 됩니다.

https://github.com/bruderstein/nppPluginManager/releases



일단 NppExec 플러그인을 설치하면 Notepad++ [플러그인] 메뉴 항목 아래에 NppExec 메뉴 항목이 새로 생깁니다. 일단 여기서 [Follow $(CURRENT_DIRECTORY)] 항목은 선택을 해두는 것이 좋습니다. 그렇지 않으면 파이썬 코드에서 파일 입출력을 할 때 예상치 못한 형태로 동작할 수 있습니다.


그리고 *.py로 끝나는 파이썬 프로그램 코드를 하나 열어서 [플러그인] -> [NppExec] -> [Execute] 메뉴를 선택하거나, 또는 단축키 F6을 누릅니다. 그러면 아래와 같은 NppExec 실행 창이 나타납니다.


Execute 창에는 실제 실행할 명령어를 입력하는데요, 아래와 같이 입력합니다.

NPP_SAVE
python "$(FULL_CURRENT_PATH)"


여기서 NPP_SAVE 명령은 프로그램을 실행하기 전에 파일을 저장하도록 하는 명령이고, 두 번째 줄이 실제 파이썬 프로그램으로 해당 *.py 파일을 실행하는 명령입니다. 명령어를 제대로 입력하고, 나중에 다시 사용하기 편하도록 [Save...] 버튼을 클릭하여 파이썬 실행을 위한 명령어를 기록해둡니다. 저는 python 이라는 제목으로 명령어를 저장해두었기에 그림 왼쪽 아래 콤보 박스에 python 이라고 써있습니다. 명령어 저장을 했으면 [OK] 버튼을 누릅니다. 그러면 아래와 같이 python 프로그램 실행 결과가 Console 창에 나타납니다.


참 쉽죠??


참고로 Python 실행 결과가 나타나는 Console 창의 폰트를 바꾸고 싶으면 [플러그인] -> [NppExec] -> [Change Console Font...] 메뉴를 선택하여 폰트를 변경할 수 있습니다.



'Study > Python' 카테고리의 다른 글

Jupyter Notebook 폰트 바꾸기  (0) 2017.10.15
Posted by kkokkal
:

지난 번 "Visual Studio 2017에서 OpenCV 3.2 빌드하기"에 이어 이번에는 OpenCV Extra module을 함께 빌드하는 방법을 정리해보겠습니다. 더불어 Python을 이용하여 OpenCV를 사용하기 위해 python 개발 환경을 만드는 것도 함께 알아봅니다.


추후 OpenCV를 Python 언어로 사용하려면 OpenCV를 빌드하기 전에 미리 Python을 컴퓨터에 설치해두어야 합니다. 개인적으로는 Python을 직접 설치하는 방법 대신, Anaconda를 설치하여 Python과 유용한 라이브러리를 한꺼번에 설치했습니다. 제가 설치한 Anaconda 버전은 4.4.0이고, 이 패키지에 들어있는 Python 버전은 3.6.1 입니다. Anaconda는 아래 링크에서 다운로드 할 수 있습니다.

https://www.continuum.io/downloads


참고로, Anaconda 4.4.0 버전을 설치할 때에는 Anaconda 관련 패스를 환경 변수에 추가하지 않는 것을 권장하는데요, 저는 그냥 환경 변수를 추가하여 설치를 했습니다.


이제 본격적으로 OpenCV를 빌드하는 방법을 알아보겠습니다. 먼저 OpenCV Extra modules 소스 코드를 다운로드 합니다. OpenCV Extra modules의 최신 소스 코드는 https://github.com/opencv/opencv_contrib 사이트에서 다운받을 수 있습니다. 다만 지금 빌드할 버전은 2016년 12월에 릴리즈된 OpenCV 3.2 버전이기때문에 아래 링크에서 소스 코드를 다운로드합니다.

https://github.com/opencv/opencv_contrib/releases/tag/3.2.0


위 사이트에서 Source code (zip) 으로 링크된 zip 파일을 다운로드하면 opencv_contrib-3.2.0.zip 이름으로 소스 코드가 다운로드 됩니다. 이 파일을 이전에 OpenCV 소스 코드 압축을 풀었던 C:\OpenCV 폴더에서 압축을 풉니다. 그러면 C:\OpenCV\opencv_contrib-3.2.0 폴더가 생기면서 그 아래에 여러 개의 폴더와 파일이 생성됩니다.


OpenCV Extra Modules와 함께 OpenCV 3.2를 빌드하는 방법은 "Visual Studio 2017에서 OpenCV 3.2 빌드하기"에서 설명한 방법과 거의 유사합니다. 가장 큰 차이점은 CMake 프로그램에서 Extra modules 소스 코드가 있는 폴더 위치를 지정해주어야 한다는 점인데요, 그 외에도 몇 가지 다른 점이 있으니 아래 내용을 잘 읽으시기 바랍니다.


소스 코드가 제대로 준비되었으면 이제 CMake를 실행합니다. 혹시 이전에 CMake에서 설정했던 내용이 기억되어 있을 경우 새로 빌드하는 과정에서 예상치못한 에러가 발생할 수도 있으니 [File] -> [Delete Cache] 메뉴를 한 번 실행하는 것을 권장합니다. 그리고 (예전에 했던 것과 동일하게) Where is the source code: 에는 C:\opencv\opencv-3.2.0 폴더를 선택하고, Where to build the binaries: 항목은 C:\opencv\mybuild 폴더를 선택합니다. 그리고 [Configure] 버튼을 클릭하고, "Visual Studio 15 2017 Win64" 항목을 선택합니다.


CMake 설정에서 변경해야할 사항은 아래와 같습니다.

  • BUILD_EXAMPLES: 선택 (Optionial)
  • BUILD_opencv_world: 선택 안함 (기본값 변경 안함)
  • INSTALL_PYTHON_EXAMPLES: 선택 (Optional)
  • OPENCV_EXTRA_MODULES_PATH: C:/opencv/opencv_contrib-3.2.0/modules
  • WITH_CUDA: 선택 해제 (VS2017 지원 안함)
  • WITH_OPENGL: 선택 (Optionial)


위 설정에서 중요한 것은 OPENCV_EXTRA_MODULES_PATH 항목을 C:/opencv/opencv_contrib-3.2.0/modules 로 지정하는 것입니다. C:/opencv/opencv_contrib-3.2.0/ 폴더가 아니라 그 아래에 있는 modules 폴더를 지정해야 합니다.


그리고 이전에 OpenCV 기본 소스 코드만 빌드할 때에는 BUILD_opencv_world 항목을 선택해서 빌드를 했지만, opencv_contrib 소스까지 함께 빌드할 때에는 BUILD_opencv_world 항목을 선택하면 에러가 발생합니다. 이는 OpenCV 3.2 릴리즈 버전의 소스 코드를 빌드할 때 발생하는 문제인데요, 일종의 버그라고 보시면 됩니다. 좀 더 최신의 OpenCV 소스 코드를 사용하여 빌드하면 BUILD_opencv_world 항목을 선택하여 빌드하여도 문제가 발생하지 않는데요, 일단 정식으로 릴리즈된 3.2 버전에 대해서는 위와 같은 형태로 선택하시는 것이 좋습니다.


Python과 관련된 설정을 살펴보면 Python3 관련 설정을 자동으로 되어 있고, Python2 관련 설정은 비어있는 것을 확인할 수 있습니다. (물론 이것은 제 시스템 설정과 관련된 것이고, 혹시라도 Python2를 설치하였다면 관련 항목이 보이는 것이 맞습니다.)


일단 위의 설정을 완료했으면 [Configure] 버튼을 다시 클릭합니다. 그리고 약간의 시간이 지나면 아래와 같은 화면이 나타납니다.


이전에 OpenCV 기본 소스만 설정할 때에는 [Configure] 버튼을 클릭하면 곧바로 모든 항목의 빨간색이 사라졌는데요, 이번에는 Extra modules 관련된 설정이 빨간색으로 새로 나타납니다. 특별히 설정을 변경할 것이 없다면 그대로 다시 [Configure] 버튼을 클릭합니다. 그리고 에러 발생 없이 모든 항목이 흰색으로 바뀌면 [Generate] 버튼을 클릭합니다. 아래에 제 PC의 설정을 아래 [더보기]에 요약해두었습니다.


OpenCV.sln 파일이 정상적으로 생성되면 Visual Studio 2017에서 열어서 빌드 작업을 수행합니다. Debug 모드와 Release 모드로 각각 전체 솔루션 빌드를 수행하고, 이후 INSTALL 프로젝트를 따로 빌드합니다. Debug 모드에서는 Python 프로젝트가 실패하기 때문에 실패 1이 나타날 수 있습니다. Release 모드는 실패 없이 402건 모두 성공했습니다.


정상적으로 빌드가 완료되었기 때문에 Python에서도 OpenCV를 사용할 수 있습니다. 도스창을 열어서 테스트해보면 OpenCV 버전이 잘 출력되는 것을 확인할 수 있습니다.




Posted by kkokkal
: