반응형

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

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기