>백엔드 개발 >파이썬 튜토리얼 >Pytest의 'ImportError: No Module Named...' 문제를 해결하는 방법은 무엇입니까?

Pytest의 'ImportError: No Module Named...' 문제를 해결하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-07 01:26:131034검색

How to Fix Pytest's

Pytest의 경로 사고: 'ImportError: No Module Named...'

Pytest를 사용할 때 성가신 오류 'ImportError: 이름이 지정된 모듈이 없습니다...' 문제는 일반적으로 Python의 모듈 가져오기 동작에서 발생합니다. Pytest는 모듈을 찾기 위해 디렉터리를 탐색하지만, 모듈의 상위 디렉터리 외부에서 실행되는 경우 모듈을 찾지 못할 수 있습니다.

최근 Pytest 버전에 권장되는 접근 방식(>= 7)

Pytest의 최신 버전은 'pythonpath' 구성 옵션을 통해 보다 간단한 솔루션을 제공합니다. 'pyproject.toml' 또는 'pytest.ini' 파일에 'pythonpath'를 정의하면 Python의 검색 경로에 필요한 모듈 디렉터리를 추가할 수 있습니다.

Conftest Solution for Pytest < 7

이전 버전의 Pytest의 경우 덜 침해적인 접근 방식은 프로젝트의 루트 디렉터리에 빈 'conftest.py' 파일을 만드는 것입니다. Pytest는 테스트 수집 중에 이 디렉토리를 Python의 검색 경로에 자동으로 추가합니다.

특정 프로젝트 구조에 대한 팁

  • '을 포함하는 상위 디렉토리가 없는 패키지 레이아웃의 경우 __init__.py' 파일을 패키지 루트 디렉터리에 conftest.py 배치합니다.
  • 이를 활용하는 프로젝트의 경우 'src' 레이아웃을 사용하려면 'src' 디렉토리에 conftest.py를 배치하세요. 그러나 이는 'src' 레이아웃의 이점을 손상시킬 수 있으므로 주의하십시오.

결론

'pythonpath' 중 하나를 사용하여 Python의 검색 경로를 수정하면 됩니다. 구성 또는 'conftest.py' 파일을 사용하면 'ImportError: No module names...' 문제를 해결하고 다양한 환경에서 원활한 테스트를 보장할 수 있습니다. 환경입니다.

위 내용은 Pytest의 'ImportError: No Module Named...' 문제를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.