>  기사  >  백엔드 개발  >  setuptools/distutils에 패키지 데이터를 올바르게 포함하는 방법은 무엇입니까?

setuptools/distutils에 패키지 데이터를 올바르게 포함하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-03 22:16:03264검색

How to Properly Include Package Data with setuptools/distutils?

setuptools/distutils에 패키지 데이터 포함

setuptools를 사용하여 패키지 설치를 구성할 때 package_data 파일을 통합하는 데 어려움이 발생할 수 있습니다. 이 문서에서는 올바른 접근 방식을 다루고 일반적인 문제에 대한 솔루션을 제공합니다.

잘못된 접근 방식

잘못된 접근 방식에는 package_data를 정의하고 include_package_data를 True로 설정하는 것이 포함됩니다. 제공된 예에서 볼 수 있습니다:

<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>

올바른 접근 방식

잘못된 접근 방식의 문제는 package_data가 바이너리 패키지를 빌드할 때만 사용된다는 것입니다(예: Python 설정) .py bdist ...) 그러나 소스 패키지를 빌드할 때는 그렇지 않습니다(예: python setup.py sdist ...).

올바른 접근 방식은 MANIFEST.in을 사용하여 바이너리 배포판과 소스 배포판 모두에 포함된 파일을 지정하는 것입니다. . 다음은 MANIFEST.in 파일의 예입니다.

include *.txt
recursive-include myapp/data *

MANIFEST.in을 사용하면 구축 중인 배포 유형에 관계없이 필요한 모든 패키지 데이터가 포함되도록 할 수 있습니다.

위 내용은 setuptools/distutils에 패키지 데이터를 올바르게 포함하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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