>  기사  >  백엔드 개발  >  setuptools/distutils를 사용하여 패키지 데이터가 바이너리 배포판과 소스 배포판 모두에 포함되어 있는지 확인하는 방법은 무엇입니까?

setuptools/distutils를 사용하여 패키지 데이터가 바이너리 배포판과 소스 배포판 모두에 포함되어 있는지 확인하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-10-31 06:13:02420검색

How to Ensure Your Package Data Is Included in Both Binary and Source Distributions Using setuptools/distutils?

setuptools/distutils를 사용하여 패키지 데이터 포함 문제 극복

패키지 데이터를 배포 가능한 Python 패키지에 통합하는 것은 특히 setuptools 또는 distutils를 사용할 때 종종 문제가 발생합니다. 일반적인 통념을 따름에도 불구하고 일부 사용자는 설치 프로그램이 원하는 파일을 검색하는 데 어려움을 겪습니다.

package_data의 함정

질문에 제공된 구성:

<code class="python">setup(
   name='myapp',
   packages=find_packages(),
   package_data={
      'myapp': ['data/*.txt'],
   },
   include_package_data=True,
   zip_safe=False,
   install_requires=['distribute'],
)</code>

나타납니다. 확립된 문서를 기반으로 정확합니다. 그러나 대답이 기민하게 지적했듯이 이 접근 방식은 바이너리 빌드(python setup.py bdist ...)를 처리할 때 부족합니다. 이 시나리오에서는 package_data 메커니즘이 활용되지 않습니다.

해결책: MANIFEST.in

바이너리 배포와 소스 배포 모두에 패키지 데이터를 안정적으로 포함하기 위해 MANIFEST.in 파일이 강력한 대안을 제공합니다. MANIFEST.in은 패키지에 통합할 파일을 명시적으로 나열하는 사용자 정의 가능한 매니페스트입니다. 이 방법을 사용하면 개발자는 두 설치 시나리오 모두에 필요한 모든 데이터가 존재하는지 확인할 수 있습니다.

위 내용은 setuptools/distutils를 사용하여 패키지 데이터가 바이너리 배포판과 소스 배포판 모두에 포함되어 있는지 확인하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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