Table of Contents
Cython – python to C
OS 가 윈도우인 경우
Visual Studio 2022 Community 를 설치해 줍니다.
커뮤니티 버전의 경우 개인, 5명 이하의 사용자인 기업, 오픈 소스, 학술 연구 및 강의실 학습 환경일 경우 무료로 사용할 수 있는 IDE입니다.
라이센스가 문제가 되는 경우 MinGW 를 설치해야 하는데 복잡해집니다.
설치
pip install cython
my_pow.pyx 생성
# my_pow.pyx
import math
def my_pow(x, y):
return math.pow(x, y)
setup.py 생성
# setup.py
# -*- coding: utf-8 -*-
from distutils.core import setup
from Cython.Build import cythonize
setup(ext_modules=cythonize("my_pow.pyx"))
빌드
python3 setup.py build_ext --inplace
컴파일된 모듈을 확인할 수 있다.
ls -al
......
build
my_pow.c
my_pow.cpython-310-x86_64-linux-gnu.so
my_pow.pyx
setup.py
윈도우 MSVC 의 경우 my_pow.cp39-win_amd64.pyd 과 같이 pyd (python dll) 파일이 생성됩니다.
my_pow.pyx 수정
my_pow.cpython-310-x86_64-linux-gnu.so 에서 함수를 호출하는 것을 확인하기 위해 아래 내용대로 수정합니다.
# my_pow.pyx
import math
#def my_pow(x, y):
# return math.pow(x, y)
cython 실행
# test.py
from my_pow import my_pow
print(my_pow(2, 3))
python3 test.py
8.0