Python 개발 환경

평소 해킹에 관심이 많아 개발을 하면서 틈틈히 해킹관련 공부를 해 왔다. 그러던 중 훌륭한 책을 만나 이렇게 Python 의 세계에 빠지게 된다.

Gray Hat Python - Python Programming for Hackers and Reverse Engineers

이 책은 처음부터 해킹에 관련 된 내용으로 일관한다. Python 이 먼지도 모르고 이 책을 읽다간 많이 아픔을 격을 것이다. 먼저 파이썬에 대해서 기초를 다진다면 공식싸이트에 있는 Tutorial 이나 기타 검색으로 "Python 강좌"를 찾는 것이 먼저 일 것이다.

본론으로 들어가 환경구축을 하기 위해 내 맥에 어떤 상태인지 확인이 필요하다. Mountain Lion 은 우선 파이썬을 기본적으로 설치가 되어 있는 상태이다. 그럼 다음으로 볼 것이 wxPython 으로 GUI 로 파이썬을 개발할 수 있게 도와 주는 툴킷으로 크로스 플랫폼(멀티 플랫폼)을 지원한다.

wxPython 설치 유무 판다은 무식한 판단으로 터미널을 열고 다음과 같이 입력 후 파이썬을 실행 한다.

(11:27:45) Mac:~ $ python

Python 2.7.2 (default, Oct 11 2012, 20:14:37) 
[GCC 4.2.1 Compatible Apple Clang 4.0 (tags/Apple/clang-418.0.60)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>


다음과 같이 파이썬이 실행 되면 >>> 꺽쇠 다음 아래와 같이 입력 후 엔터를 친다.

 >>> from wxPython.wx import * 


오류 메시지가 보이지 않으면 현재 운영체제에는 wxPython 이 설치 되어 있으므로 이클립스에서 환경을 구축으로 넘어간다. 허나, Mountain Lion 에서 wxPython 공식 싸이트에서 받은 설치 파일이 정상적으로 설치가 되지 않는다.

위와 같은 증상으로 설치가 않되므로 다른 운영체제에 wxPython 이 설치가 안되어 있다고 가정하고 설치를 시도해 보겠다.

우선 위와 같이 팝업 창이 뜨면 "취소" 버튼을 클릭하고 터미널 창으로 이동 한다. 터미널 창에는 다음과 같이 입력하여 wxPython 을 설치 한다.


(11:35:27) Mac:~ $ sudo installer -pkg /Volumes/wxPython2.9-osx-2.9.5.0-cocoa-py2.7/wxPython2.9-osx-cocoa-py2.7.pkg -target /


성공적으로 설치가 완료되면 이클립스를 다운 받아 원하는 곳에 압축을 풀다. 여기서 주의해야 할 점은 앞으로 PyDev 플러그인을 이클립스에 추가하고 파이썬을 지정해 줘야 하는데 이 때 디렉토리명에 대한 문제가 발생한다. 나는 "01.개발툴" 이란 디렉토리에 이클립스를 압축해제 하고 실행 후 환경설정을 하니 문제가 발생했다. 이유는 한글 디렉토리명으로 인해 발생한 것이다. 그러므로 이클립스 실행 파일이 존재하는 경로까지 한글이 있는 디렉토리가 있다면 이클립스 디렉토리를 오류가 안나도록 한글 디렉토리명이 없는 경로에 이동시켜야 한다. (단, 파인더에서 시스템, 라이브러리 디렉토리는 한글로 보일 뿐 실제 디렉토리명은 영어이다.)

    이클립스 설치시 주의점 - 이클립스 실행 파일이 있는 경로까지 디렉토리명들이 한글이 있으면 PyDev 설정에서 오류 발생

이클립스는 eclipse.org 에서 최신 버전을 다운받아 압축을 풀고 다음으로 PyDev 플러그인을 설치 해야 한다. PyDev 플러그인은 이클립스를 실행 한 후에

위 그림에서 처럼 환경설정을 클릭 한다. Help/Install New Software 를 선택한다. 아래 그림과 같다.

그럼 아래 그림과 같은 창이 나오는데 여기서 add 를 클릭 해 새로운 플러그인을 추가 할 수 있게 한다.

 

PyDev 플러그인 추가 주소는 위 그림에서와 같이 http://pydev.org/updates 이다. OK 버튼을 클릭 후 

위와 같은 화면이 나오면 PyDev 만 선택해서 설치해도 되고 밑에 있는 플러그인도 체크를 하여 설치 하여도 된다. 이 후 PyDev 설정을 해 주어야 한다. 이클립스가 다시 실행이 되면 환경설정으로 들어가 아래 그림과 같이 Interpreter - Python 을 선택 한다.

위 그림은 설치가 되어 있어 보여지는 것이고 만약 설치가 안되어 있다면 우측 창에 있는 위-아래 항목은 비어 있어야 정상이다. 설치가 안되어 있다면 우측  Auto Config 버튼을 클릭 하면 자동으로 Python과 wxPython을 이클립스가 인식해 설치를 도와 준다. 위에서 말한 디렉토리 한글 오류는 여기서 발생되어 진다. 이클립스 실행 파일이 있는 경로까지 한글명으로 된 디렉토리가 있다면 한글명으로 된 디렉토리가 없는 곳으로 이동하여 Auto Config를 다시 실행한다.

여기까지가 Python 개발을 위한 환경 구축이다.

'02. 운영체제 > OS X' 카테고리의 다른 글

MacPorts 설치  (0) 2013.10.14
Mountain Lion iCal 과 구글 캘린더 연동  (0) 2013.09.16
맥북 프로 A1297 모델에 우분투 설치  (0) 2012.11.07

MacPorts 란?

MacPorts는 Command-line 에서 오픈소스 프로그램을 쉽게 컴파일, 설치, 업데이트 등을 할 수 있도록 디자인 된 X11 또는 Aqua 기반 맥 OS X 용 소프트웨어이다.
먼저 MacPorts를 설치하기 위해서 Xcode (version 4.4 or later for Mountain Lion, 4.1 or later for Lion, 3.2 or later for Snow Leopard, or 3.1 or later for Leopard) 가 필요하다. 이는 Xcode 에 있는 Command Line Tools 이(가) 필요하기 때문이다.
 

Xcode는 AppStore 또는 애플개발자 센터에서 무료로 다운받을 수 있다. 이왕 하는 김에 개발자 등록을 해 두도록 하는 것도 좋을거 같다. 매버릭스(Mavericks OX S 10.9 버젼)을 개발하기 위해서 OS X 10.9 doc set을 다운 받으려면 애플 계정이 필요하다. 개발자와 먼 분들은 상관이 없다. 필요한 것은 Command Line Tools 이거니까!

위 그림은 Xcode 를 설치 후 실행 하면 좌측 상단 Xcode/Preferences… 를 선택하면 나오는 창이다.

Command Line Tools 까지 설치 했다면 이젠 MacPorts 를 설치하면 된다. MacPorts 다운로드는 http://distfiles.macports.org/MacPorts/ 또는 http://www.macports.org/install.php 여기서 자신의 운영체제에 맞는 파일을 다운 받는다. 나는 Mountain Lion이므로 http://distfiles.macports.org/MacPorts/MacPorts-2.2.0-10.8-MountainLion.pkg 이것을 다운받아 설치했다.

설치가 완료되면 이제 터미널에서 Command line 명령으로 자신에게 필요한 프로그램을 설치 할 수 있다. 먼저 난 wget 을 설치 했다.

 

MacPorts command line 에서 사용법은 간단하다. sudo 다음 port 를 입력 후 install, update 등 우분투에서 사용하는 명령어를 그대로 사용하면 된다.

~$ sudo port install wget

위 명령어를 입력하면 다음과 같은 화면이 나오면서 wget 과 연관된 모든 프로그램을 설치한다.

---> Computing dependencies for wget
---> Dependencies to be installed: gettext expat libiconv ncurses gmp gnutls libidn libtasn1 nettle p11-kit curl-ca-bundle desktop-file-utils glib2 libffi perl5 perl5.12 gdbm zlib popt libxslt libxml2 xz libgcrypt libgpg-error pcre bzip2 libedit
---> Fetching archive for expat
---> Attempting to fetch expat-2.1.0_0.darwin_12.x86_64.tbz2 from http://jog.id.packages.macports.org/macports/packages/expat
---> Attempting to fetch expat-2.1.0_0.darwin_12.x86_64.tbz2.rmd160 from http://jog.id.packages.macports.org/macports/packages/expat
---> Installing expat @2.1.0_0
---> Activating expat @2.1.0_0
.
.
.

To customize wget, you can copy /opt/local/etc/wgetrc.sample to /opt/local/etc/wgetrc and then make changes.

---> Cleaning wget
---> Updating database of binaries: 100.0%
---> Scanning binaries for linking errors: 100.0%
---> No broken files found.

 

 

아래 그림처럼 iCloud 계정 활성화 체크를 해제 해 주면 구글 캘린더와 연동이 시작된다.