>백엔드 개발 >파이썬 튜토리얼 >`sys.path` 해킹을 사용하지 않고 Python에서 형제 패키지를 효과적으로 가져올 수 있는 방법은 무엇입니까?

`sys.path` 해킹을 사용하지 않고 Python에서 형제 패키지를 효과적으로 가져올 수 있는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-12-14 15:54:11469검색

How Can I Effectively Import Sibling Packages in Python Without Using `sys.path` Hacks?

동위 패키지 가져오기

소개

동위 패키지를 통합하고 다양한 디렉터리에서 스크립트를 실행하는 것은 어려울 수 있습니다. 이 가이드는 악명 높은 sys.path 해킹을 방지하는 자세한 솔루션을 제시합니다.

설정

다음 디렉토리 구조를 고려하세요.

솔루션

1단계: pyproject.toml 만들기 파일

루트 디렉터리에서 다음과 같은 최소한의 내용으로 pyproject.toml 파일을 만듭니다.

2단계: 가상 환경 사용(권장)

격리 및 의존성을 위한 가상 환경 생성 및 활성화

3단계: 프로젝트 설치

pip를 사용하여 편집 가능한 상태로 프로젝트를 설치합니다.

4단계: 마이프로젝트를 추가하세요. 접두사

상대 또는 절대 가져오기가 실패하는 가져오기에서는 가져오기 문에 myproject 접두사를 추가합니다.

코드 예

api.py:

test_one.py:

테스트 실행

tests 디렉터리로 이동하여 실행합니다. test_one.py:

결론

이 솔루션은 sys.path 조작 없이 형제 패키지를 가져오는 깔끔하고 이식 가능한 방법을 제공합니다. pyproject.toml을 활용하고 프로젝트를 편집 가능하게 설치하면 스크립트 변경 사항이 설치된 패키지에 자동으로 반영되도록 할 수 있습니다. 이 접근 방식은 개발을 간소화하고 프로젝트 관리를 단순화합니다.

위 내용은 `sys.path` 해킹을 사용하지 않고 Python에서 형제 패키지를 효과적으로 가져올 수 있는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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