setuptools/distutils에 패키지 데이터 포함
문제:
권장 단계를 따랐음에도 불구하고 setuptools를 사용하여 패키지 데이터를 포함하려고 하면 설치 프로그램이 관련 파일을 가져오지 못합니다. 다음 설정 코드는 이 기능을 활성화해야 합니다.
<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와 보다 안정적인 MANIFEST.in 간의 미묘한 차이로 인해 발생합니다. package_data는 바이너리 패키지(예: python setup.py bdist ...)를 빌드할 때 주로 사용되지만, 소스 패키지(예: python setup.py sdist ...)를 생성하는 데는 작동하지 않습니다.
해결책:
바이너리 배포와 소스 배포 모두에 패키지 데이터를 효과적으로 포함하려면 MANIFEST.in을 사용하는 것이 좋습니다. 예는 다음과 같습니다.
include appname/data/*.txt
이 파일을 프로젝트 루트에 배치하세요. 지정된 데이터 파일을 포함하도록 bdist 및 sdist 명령에 지시합니다. 이 방법을 사용하면 구축되는 배포 유형에 관계없이 필요한 데이터가 적절하게 패키징됩니다.
위 내용은 내 `setup.py`에 패키지 데이터가 포함되지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!