IT

MANIFEST.in이 필요하며 그 안에 무엇이 거기에 있습니까?

lottoking 2020. 8. 22. 09:57
반응형

MANIFEST.in이 필요하며 그 안에 무엇이 거기에 있습니까?


"Python Distribute"가이드 (python-distribute.org에 있었지만 등록이 완료되었습니다)는 doc/txt파일 을 포함하라고 알려주며 .py파일은 파일에서 제외 MANIFEST.in됩니다.

sourcedist 문서는 나에게 단지 sdist 용도를 알려에만 MANIFEST.in지정하고 포함하는 .py파일을 포함합니다. 또한 사용하라고 알려줍니다 : python setup.py sdist --manifest-only를 생성하는 방법 MANIFEST,하지만 파이썬은 이것이 존재하지 않는다고 알려 줍니다

나는 이것들이 다른 버전의 설치가 왔고 배포 시스템이 완전히 엉망이 된 것에 감사하지만, 내가 3을 사용하고 있다고 가정하고 setuptools(배포 도구만을 더 위해 배포를 포함하지 않는 설치 도구) 라고 불리는 새로운 것을 사용하고 실제로 가정 합니다. 배포로 다시 가져오고 setuptools로 이름이 바뀌 었습니다 ....)

'표준'폴더 구조와 setup.py파일을 보고 있습니다.

  1. 필요 내가 MANIFEST.in합니까?
  2. 그 안에 무엇입니까?
  3. 언제 하나의 간단한 프로세스로 만들어 질까요?

Re : "MANIFEST.in이 필요 공유?

아니요,을 (를) 사용할 수 없습니다 MANIFEST.in. 모두, distutilssetuptools소스 배포 패키지에 모두에 언급 된 파일을 포함하는 setup.py-모듈, 패키지 파일을 포함 README.txt하고 test/test*.py. 이것이 배포 패키지에 포함하려는 모든 것이라면 사용할 필요가 없습니다 MANIFEST.in.

포함 할 기본 파일을 조작 (추가 또는 제거) 비용을 지불 MANIFEST.in합니다.

Re : 그 안에 거기에 있습니까?

절차는 간단합니다.

  1. 당신에 있는지 확인하십시오 setup.py당신이 (에 의해 포함 setup(... 모듈, 패키지, 펼쳐) 인수) 프로그램이 실행하는 당신이 중요한 느끼는 파일을

  2. 추가 할 파일이 있거나 할 파일이 있습니다. 둘 다 필요하지 않을 경우 사용할 수 없습니다 MANIFEST.in.

  3. 경우 필요 MANIFEST.in, 그것을 만들 수 있습니다. 일반적으로, 당신은 거기에 추가 tests*/*.py, 파일을 README.rst사용하지 않는 경우 README.txt, docs필요한 경우, 테스트 스위트에 대한 파일 가능성이 일부 데이터 파일을.

예를 들면 :

include README.rst
include COPYING.txt

테스트 광고를 실행 python setup.py sdist하고 만든 tarball을 검사하십시오 dist/.

이 모든 다른 패키지 시스템은 언제 ...

오늘과 2 년 전의 상황을 비교해 보면 (상황이 setuptools훨씬 나아) 갈 길입니다. 당신은 사실을 무시할 수, distutils조금 깨진, 낮은 수준의 기지 setuptoolssetuptools당신에게서 이런 일을 숨기는 처리를 취한다.

편집 : 내가 사용하는 마지막 pbr가지 프로젝트 세 가지 라인 배포 패키지를 구축 setup.py하고있는 나머지 존재 setup.cfg하고 requirements.txt. MANIFEST.in이상한 것들 다른 에 대해 신경 쓸 필요가 없습니다 . 하지만 패키지가 좀 더 많은 문서를받을 자격이 있습니다. 참조 http://docs.openstack.org/developer/pbr/를


이전 질문, 새로운 답변 :

아니요, 필요 없습니다 MANIFEST.in. 그러나 setuptools(일반적으로) 의미하는 바를 수행하는 두 가지 주요 위치에서 setuptools_scm역할을 수행하는 것을 의미 합니다 MANIFEST.in.

  • sdist을 명령 실행할 때 모든 관련 파일이 패키지화되도록합니다 (여기서 모든 관련 파일은 "소스 제어하에있는 모든 파일"로 정의 됨).
  • include_package_data데이터를 패키지 build또는의 일부로 포함 하는 사용 하는 경우 bdist_wheel. (다시 말하지만, 소스 제어하에있는 파일)

에 대한 이에 대한 이해는 MANIFEST.in소스 제어 시스템이없는 경우 "소스 파일"과 "작업 디렉토리에있는 파일"을 구분하기위한 다른 것이 필요합니다. 그러나 프로젝트가 소스 제어 (right ??)하에 있으므로 MANIFEST.in. 이 기사에서 더 많은 정보 .

참고 URL : https://stackoverflow.com/questions/24727709/do-python-projects-need-a-manifest-in-and-what-should-be-in-it

반응형