질문은 더 나은 외부 라이브러리 의존성을 포함 파이썬 확장을 배포하는 가장 좋은 방법은 무엇
으로 요구된다.
이진수 휠 패키지가 더 적합합니다.
사용자는 소스 코드 빌드 및 설치에 사용되는 setup.py
에 대해 알 필요가 없습니다. 사용자는 바이너리 휠 패키지를 다운로드하여 설치하기 만하면됩니다.
헤더 파일 만 포함하면 라이브러리를 빌드하고 링크해야하는 문제가 해결되지 않습니다. 또한 버전 비 호환성 문제를 해결합니다.
그래서 setup.py
은 이것에 대해 특별한 것을 가질 필요가 없습니다. 라이브러리가 포함되어 있고 연결할 라이브러리가 있다면 프로젝트의 하위 디렉토리가 될 위치를 알아야합니다.
설명서에는 소스에서 빌드하는 방법에 대한 지침이 포함되어야합니다. 소스에서 빌드하는 방법에 대한 지침이 포함되어 있어야합니다 (파이썬 헤더 파일, 적절한 컴파일러 등).
auditwheel과 같은 도구는 외부 라이브러리 종속성을 바이너리 휠에 묶어서 최종 사용자가 패키지를 사용하기 위해 라이브러리를 설치할 필요가 없습니다.
이진 Python 확장을 배포하는 경우 manylinux 및 this demo project도 참조하십시오.
런타임에이를 감지하는 좋은 방법이 있는지 확실하지 않습니다. 어쩌면 부스트를 사용하는 간단한 테스트 프로그램을 컴파일 해보고 컴파일이 실패했는지 확인해 볼까? – ngoldbaum
@ngoldbaum 나는 이것을 이미했다. 문제는 부스트와 같은 외부 의존성을 가진 모범 사례에 관한 것입니다. 간단히 말해, 패키지에 부스트 라이브러리를 포함 시키거나 (헤더 만) 파이썬 패키지를 설치하는 동안 사용자에게 오류를보고해야합니다. – Zouzias
Danny의 답변에 동의합니다. 휠을 사용할 수 없다면, 필요한 외부 라이브러리를 사용할 수 없다면 유용한 오류 메시지와 함께 setup.py에서 오류가 발생해야합니다. – ngoldbaum