간만에 Python을 사용하여 C 확장 모듈을 만들어서 사용하기 위해 책을 펼쳐 들었습니다.

 

저는 열혈강의 파이썬이라는 책을 참조했고

 

아래 주소에서 열혈강의 파이썬 소스코드를 다운로드 받을 수 있습니다. 25장에 있는 C 확장 모듈 예제를 사용했습니다.

 

https://freelec.co.kr/bbs/read.asp?BBSName=LECPDS&SORTUID=53&page=1&id=18333

 

책에 있는 소스코드가 간단하길래 윈도우에서도 그냥 쉽게 될 줄 알았는데… 컴파일러가 뭔가 안 맞는 것 같더군요.

 

다음과 같이 작성한 setup.py 파일을 빌드 하는데… 어쩌구 저쩌구 에러가 쭉~

 

python setup.py build

 

구글링을 해도 그닥 잘 모르겠어서…

 

Virtualbox 에 Mint Linux 64 bits 를 설치하고 터미널에서 다음과 같이 해보니 간단하게 되더군요.

 

sudo apt-get install python-dev -y   # Python.h 를 설치하기 위함

python setup.py build

sudo chmod -R ugo+rX /usr/local/lib/python2.7/dist-packages/   # 파이썬 라이브러리 권한 설정

 

다음으로 아래와 같이 명령을 하니 firefox 가 정상적으로 뜨더군요.

 

역시 개발은 linux 인가 봅니다.


Python 으로 만든 모듈을 실행 파일로 만들기 위해서 기존에는 py2exe, py2app 와 같은 툴을 사용했었는데요.

 

최근에 cx_Freeze 라는 툴도 있다는 걸 알게됐습니다.

 

cx_Freeze 는 cross platform 툴인데요~

 

요즘 주로 사용하는 윈도우 7 64 비트에서도 정상적으로 동작하더군요.

 

일단 설치는 pip 가 설치되어 있다면 다음과 같이 하면 설치되더군요.

 

pip install cx_Freeze

 

pip 가 설치되어 있지 않은 분들은 아래 글 참조하여 설치하시기 바랍니다.


http://iamaman.tistory.com/984

http://iamaman.tistory.com/m/post/997


 

아래는 다른 블로그에서 봤던 sqrt.py 파일인데요~ 간단하게 sqrt() 값을 계산해 주는 겁니다.

 

import math

sqrt=math.sqrt

x=int(input('enter the number here:'))

 

y=sqrt(x)

print(y)

input('press exit')

 

실행할 파이썬 모듈 파일을 만든 다음에 setup.py 파일을 작성해 줍니다.

위 코드에서 create_shared_zip 을 False 로 함으로서 library.zip 파일을 생성하지 않게 할 수 있습니다.

 

다음으로 command 창에서 간단하게 아래 그림과 같이 setup.py build 라는 명령어를 치면~ build 폴더 안에 ~ sqrt.exe 라는 이름의 실행 파일이 만들어집니다.

 

Sqrt.exe을 실행 시키면 아래 그림과 같이 실행이 되죠~ 같이 생성되는 sqrt.exe 실행 파일이 실행되기 위해서는 python27.dll 파일이 환경변수 안에 있으면 됩니다.


+ Recent posts