2012-01-26 2 views
6

numpy include가 대상 시스템에 존재할 때 정확한 경로를 결정하는 가장 간단한 방법은 무엇입니까? 그리고 make 명령으로 사용합니까? 순간 나는numpy 확장자를 사용하는 C 프로그램 용 Makefile

GCC를 사용하고 ... -I는/usr/포함/python2.7/-I는/usr/lib 디렉토리/python2.7/사이트 패키지/NumPy와/코어// NumPy와/

포함

및 그 두 가지를 포함하도록하고 싶습니다. 자동으로 빌드가 수행되는 시스템을 기반으로 선택됩니다.

python -c "import numpy; print numpy.__path__[0] + 'core/include/numpy/'" 

하지만 첫 번째 확실하지 않다 나는 경우에도 나는 여전히 최고의에서 그것을 사용하는 방법을 잘하지 않을 것입니다 :

내가 두 번째를 얻을 수있는 것 같다은 다음과 같이 포함 (쉬운/우아한 방법) 메이크

답변

0

그래서 일부 인터넷 검색 후이 experimentig 내가 생각 해낸 것입니다 :

CFLAGS = $(shell python-config --includes) $(shell python -c "import numpy; print '-I' + numpy.__path__[0] + '/core/include/numpy/'") 

그것이 있지만, 모든 시스템에서 작동하는 것 같군 어떻게 신뢰할 수있는 확실하지 지금까지.

나는 먹스에 의해 제안 된 방법이 나

3

numpy.get_include() 작동하지 않았다 같은 쉘 출력의 변수을 설정하기위한 $ (쉘 ...)를 사용했다 포함 얻을 수있는 가장 쉬운/가장 좋은 방법입니다. C 확장 모듈이 numpy를 사용하는 경우 Extensioninclude_dirs=[numpy.get_include()]을 사용해야합니다. numpy.get_include()에 내가 모르는 문서가없는 것 같습니다. user1056255이 조금 더 나은 제안하지만 같은

은 그럼 당신은 ... 할 수

CFLAGS = $(shell python-config --includes) $(shell python -c "import numpy; print '-I' + numpy.get_include()")