내부 소프트웨어 개발 프로세스를위한 Python 빌드 패키지 및 기능 테스트 패키지를 구현하려고합니다. 나의 주요 목표는 전역/표준 로거 (참조 번호 here과 유사) 및 모든 모듈이 원근 패키지 내에서 사용할 argparser를 구현하는 것입니다 (즉, 빌드 로거 및 파서가 테스트 스위트 로거 및 파서와 다를 수 있음).패키지 용 표준 로거 및 argparser 구현 방법
패키지의 __init__.py
에서 수행해야합니까? 이것을 달성하는 다른 방법이 있습니까? 나는 아직 __init__.py
에 대한 진정한 필요성을 알고 싶습니다. 아마 이것은 내 자신의 질문에 대답했을까요?
나는 많은 파이썬 모듈과 다른 응용 프로그램을 작성했지만 패키지/라이브러리는 작성하지 않았습니다. 이 개념은 이러한 프로세스를 표준화하는 것과 같은 새로운 가능성을 제시합니다. 요약하면 기본적으로
은이 패키지에 대한 내 목표는 다음과 같습니다1.) 인수 및/또는 시스템 환경에 액세스 긴 목록의 중복 합격/구문 분석에 대한 필요성을 제거합니다.
2. 다양한 테스트와 스크립트를 통해 과거에 우리가 보았던 무수한 결과물을 제거하십시오.
3.) 쉽게 사용할 수있는 자체 문서화 패키지를 제공하십시오. 패키지 문서에 대한 조언은 매우 유용합니다. :)
이 이러한 패키지의 사용자를 가능하게 할 것이다 : 쉽게 인수의 표준 세트에 액세스)
1.. 예를 들어, 패키지의 모든 모듈은 표준 플래그로 명령 줄 인수를 구문 분석하고, 구성 파일을로드하거나 기본값을 사용합니다 (우선 순위에 따라).
2.) 오류, 경고 및 디버그 명령문을 표준 방식으로 쉽게 기록하십시오.
3) 이러한 테스트/빌드 모듈이 전달되면 궁극적으로 "사용자"(즉, 모듈을 작성하지 않은 사람)가 범용 방식으로 실행할 수 있습니다.
나는 진정한 "파이썬 적"구현 조언을 찾고 있는데, 거기에 다양한 옵션과 가능성이있어 압도적 인 것 같습니다. 미리 감사드립니다.
감사합니다. 실제로 로깅 설명서에 대한 정확한 링크가 별도의 탭에 열려 있습니다. 제 질문은 패키지 수준의 구현 조언에 더 중점을 두었습니다. logging.Logger()를 전역으로 생성하고 인스턴스화하겠습니까?'foo = logging.Logger()'라고 말하고 싶습니까? 그렇다면 내 패키지를 가져 오는 모든 모듈은'import build','foo.info ("build logger")'를 사용하여 액세스 할 수 있습니까? – kevinmm
또한, 이것은'__init __. py'에 대한 수용 가능한 연습으로 간주 될까요? – kevinmm