개인용 Python 라이브러리를 개발 중이고 그 안에 있는 다른 공용 라이브러리를 사용하고 있습니다. 내 사용자 정의 라이브러리가 사용하는 각 공용 라이브러리에 대해 호환 가능한 버전 간격을 정의하고 싶습니다.
라이브러리가 제대로 작동하는지 확인하기 위해 테스트를 구현했습니다. 모든 공공 도서관의 모든 조합에서 내 코드를 테스트할 방법을 찾으면 됩니다.
tox를 사용해 봤는데 서로 다른 버전의 라이브러리로 환경을 만들려면 tox.ini 파일에 각 라이브러리의 조합을 작성해야 할 것 같습니다. 이를 수행하는 자동화된 방법이 있습니까?
예: 내 개발 환경에는 다음과 같은 라이브러리가 있으며 내 테스트를 통과했습니다.
numpy==1.24.3
matplotlib==3.7.3
다음 조합으로 테스트가 가능한지 알고 싶습니다
자동화된 방식으로.
댓글로 도움주신 모든 분들께 감사드립니다. @sinoroc이 제안한 것처럼 nox를 사용하면 매우 직관적인 방식으로 내 문제가 해결되었습니다. 일반적인 관행은 아니지만 저와 같은 사람이 프로젝트를 테스트해야 하는 경우를 대비해 질문에 제공된 예에서 사용한 솔루션을 공유하겠습니다.
noxfile.py의 코드는 다음과 같습니다.
으아악매개변수화된 데코레이터는 사용될 버전을 정의합니다. 두 개의 서로 다른 라이브러리의 서로 다른 두 버전을 사용했기 때문에 서로 다른 버전 조합에 대해 4(2*2)개의 테스트 결과를 얻었습니다.
참고: nox가 python -m pip 명령을 사용하여 라이브러리를 설치하는 것을 관찰했습니다. 따라서 테스트하는 공용 라이브러리 간에 공통 종속성이 있는 경우 다른 라이브러리를 설치할 때 해당 라이브러리 버전을 덮어쓰는 경우 적용 범위 문제가 발생할 수 있습니다. 해결책을 찾을 수 없지만 이는 버전 테스트에서 얻을 수 있는 만큼 정확합니다.
위 내용은 Python에서 내 패키지의 호환성 라이브러리 버전 간격을 어떻게 확인합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!