2013-03-31 4 views
16

build_ext 옵션을 pip 설치에 전달하여 패키지에 포함 된 확장을 컴파일하는 방법을 변경할 수 있습니까? (예, 소스를 다운로드하고 사용자 정의 setup.cfg으로 빌드/설치를 할 수 있다는 것을 알고 있지만 setup.cfg에 지정할 수있는 옵션을 pip에 직접 전달할 수 있는지 궁금합니다.)pip 설치를위한 build_ext 옵션

답변

2

검색했습니다. pip에서 그러한 옵션을 발견하지 못했습니다 (source도 검색했습니다).

easy_install/setuptools에도 그런 옵션이 없다고 생각합니다.

download/unpack/setup.py build_ext [options]/setup.py install :

내가 볼 수있는 유일한 솔루션은 구식 방법입니다.

8

홈 디렉토리에 .pydistutils.cfg 파일을 만들고 사용자 정의 setup.cfg과 같은 빌드 옵션을 무시할 수 있지만 먼저 패키지를 압축 해제 할 필요가 없습니다. 그것은 pip --global-option=build_ext를 사용 가능

[build_ext] 
include_dirs=/usr/local/include 
library_dirs=/usr/local/lib64 
rpath=/usr/local/lib64 
+2

재미 - 첫번째 build_ext 다음 install - 이런하지만이 핍 두 개의 명령을 실행할 수 있도록한다. – toriningen

9

:

따라서, 예를 들어, 당신은 변경이 뭔가를 쓸 수 & lib 디렉토리 검색 경로를 포함한다. build_ext 정말 핍 명령입니다 및하지로,

pillow \ 
     --global-option="build_ext" \ 
     --global-option="--enable-zlib" \ 
     --global-option="--enable-jpeg" \ 
     --global-option="--disable-tiff" \ 
     --global-option="--disable-freetype" \ 
     --global-option="--disable-tcl" \ 
     --global-option="--disable-tk" \ 
     --global-option="--disable-lcms" \ 
     --global-option="--disable-webp" \ 
     --global-option="--disable-webpmux" \ 
     --global-option="--disable-jpeg2000" 

이 정말 pip --global-option의 학대, this answer 영감이 예를 들어

는 PNG 및 JPEG 지원 베개 및 다른 외부 라이브러리에 대한 requirements.txt입니다 글로벌 핍 옵션. 나는 완전히 내가 한 번이 알고 잊고 후 내 자신의 대답을 봤 한

pip \ 
    build_ext \ 
     --enable-zlib --enable-jpeg \ 
     --disable-tiff --disable-freetype --disable-tcl --disable-tk \ 
     --disable-lcms --disable-webp --disable-webpmux --disable-jpeg2000 \ 
    install pillow 
+0

우수. 매력처럼 작동합니다. –

관련 문제