반응형
Python py 파일을 Cython으로 cythonize을 하려고 build를 하니 c 확장자 파일은 만들어 졌는데, pyd 파일은 만들어지지 않으면서 numpy/arrayobject.h No such file of directory 에러가 발생했다.
fatal error C1083: 포함 파일을 열 수 없습니다. 'numpy/arrayobject.h': No such file or directory
이 문제는 numpy에 대한 경로를 잡아주면 된다고 나왔는데, 경로를 잡아줘도 해결이 되지 않아 setup을 할 때 numpy를 import 할 때 그 경로를 선언해줬다.
setup.py
from setuptools import setup
from Cython.Build import cythonize
import numpy
setup(
name='test_cy',
ext_modules=cythonize("test.pyx"),
compiler_directives={'language_level' : "3"},
include_dirs=[numpy.get_include()]
)
위와 같이, setup에 include_dir = [numpy.get_include()]를 추가하여 numpy 라이브러리의 헤더 파일을 추가하였다.
위의 numpy.get_include()는 확장 모듈을 만들 때 추가를 해주면 된다.
위의 것을 추가하고 다시 아래의 명령어를 사용하여 빌드를 하니 정상적으로 pyd 파일이 생성되었다.
python setup.py build_ext --inplace
반응형
최근댓글