>백엔드 개발 >C++ >Python 확장 빌드를 간소화하기 위해 setuptools 내에서 CMake를 사용할 수 있습니까?

Python 확장 빌드를 간소화하기 위해 setuptools 내에서 CMake를 사용할 수 있습니까?

Barbara Streisand
Barbara Streisand원래의
2024-10-27 07:36:29869검색

 Can CMake be Used Within setuptools to Streamline Python Extension Builds?

setup.py에서 CMake를 사용하도록 setuptools 확장을 확장하시겠습니까?

C 라이브러리에 연결되는 Python 확장을 빌드할 때 CMake는 빌드 프로세스에 대한 더 많은 제어를 제공합니다. 현재 이러한 확장 기능을 번들링하려면 setup.py bdist_wheel을 실행하기 전에 별도의 컴파일 단계가 필요하지만 더 효율적인 솔루션이 있을 수 있습니다.

CMake를 setup.py에 통합할 수 있나요?"

CMake를 setup.py에 통합하고 Python 확장에 대한 빌드 프로세스를 자동화하려면 다음 단계를 고려하세요.

  1. build_ext 명령 클래스를 재정의합니다. build_ext 명령을 서브클래싱하고 setup.py 스크립트의 명령 클래스에 등록하세요.
  2. 사용자 정의 build_ext 구현: 재정의된 build_ext에서 CMake를 사용하여 확장 모듈을 구성하고 컴파일합니다.
  3. 예제 프로젝트: 이 기사에서는 Python 모듈, C 확장 및 CMakeLists.txt를 포함한 샘플 파일이 포함된 예제 프로젝트를 제공합니다.

설정 스크립트:

설정 스크립트는 build_ext 명령을 재정의하고 CMake를 구성하는 방법을 보여줍니다.

  1. CMakeExtension: 원본 빌드를 호출하지 않는 특수 확장 유형
  2. build_ext: 각 확장에 대해 CMake를 실행하는 확장된 build_ext 명령입니다.
  3. 스크립트 테스트: 프로젝트를 빌드하고 설치하여 설치를 확인합니다. Extension.

setup.py에 CMake를 포함하면 C 라이브러리에 연결된 Python 확장의 빌드 프로세스를 간소화하여 별도의 컴파일 단계가 필요하지 않게 됩니다.

위 내용은 Python 확장 빌드를 간소화하기 위해 setuptools 내에서 CMake를 사용할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.