> 백엔드 개발 > 파이썬 튜토리얼 > Python에서 내 패키지의 호환성 라이브러리 버전 간격을 어떻게 확인합니까?

Python에서 내 패키지의 호환성 라이브러리 버전 간격을 어떻게 확인합니까?

WBOY
풀어 주다: 2024-02-08 22:21:24
앞으로
1200명이 탐색했습니다.

如何在 python 中检查我的包的兼容库版本间隔?

질문 내용

개인용 Python 라이브러리를 개발 중이고 그 안에 있는 다른 공용 라이브러리를 사용하고 있습니다. 내 사용자 정의 라이브러리가 사용하는 각 공용 라이브러리에 대해 호환 가능한 버전 간격을 정의하고 싶습니다.

라이브러리가 제대로 작동하는지 확인하기 위해 테스트를 구현했습니다. 모든 공공 도서관의 모든 조합에서 내 코드를 테스트할 방법을 찾으면 됩니다.

tox를 사용해 봤는데 서로 다른 버전의 라이브러리로 환경을 만들려면 tox.ini 파일에 각 라이브러리의 조합을 작성해야 할 것 같습니다. 이를 수행하는 자동화된 방법이 있습니까?

예: 내 개발 환경에는 다음과 같은 라이브러리가 있으며 내 테스트를 통과했습니다.

  • numpy==1.24.3

  • matplotlib==3.7.3

다음 조합으로 테스트가 가능한지 알고 싶습니다

  • numpy==1.24.0, 1.24.1 ... 1.24.x
  • matplotlib==3.7.1, 3.7.2 ... 3.7.x

자동화된 방식으로.


정답


댓글로 도움주신 모든 분들께 감사드립니다. @sinoroc이 제안한 것처럼 nox를 사용하면 매우 직관적인 방식으로 내 문제가 해결되었습니다. 일반적인 관행은 아니지만 저와 같은 사람이 프로젝트를 테스트해야 하는 경우를 대비해 질문에 제공된 예에서 사용한 솔루션을 공유하겠습니다.

noxfile.py의 코드는 다음과 같습니다.

으아악

매개변수화된 데코레이터는 사용될 버전을 정의합니다. 두 개의 서로 다른 라이브러리의 서로 다른 두 버전을 사용했기 때문에 서로 다른 버전 조합에 대해 4(2*2)개의 테스트 결과를 얻었습니다.

참고: nox가 python -m pip 명령을 사용하여 라이브러리를 설치하는 것을 관찰했습니다. 따라서 테스트하는 공용 라이브러리 간에 공통 종속성이 있는 경우 다른 라이브러리를 설치할 때 해당 라이브러리 버전을 덮어쓰는 경우 적용 범위 문제가 발생할 수 있습니다. 해결책을 찾을 수 없지만 이는 버전 테스트에서 얻을 수 있는 만큼 정확합니다.

위 내용은 Python에서 내 패키지의 호환성 라이브러리 버전 간격을 어떻게 확인합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:stackoverflow.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿