programing

알려진 상위 패키지가 없는 상대 가져오기 시도

i4 2023. 7. 15. 09:40
반응형

알려진 상위 패키지가 없는 상대 가져오기 시도

from ..box_utils import decode, nms

이 라인에서 오류가 발생하고 있습니다.

가져오기 오류: 알려진 상위 패키지가 없는 상대 가져오기를 시도했습니다.

이 오류는 무엇이며 이 오류를 해결하는 방법은 무엇입니까?

보아하니,box_utils.py패키지의 일부가 아닙니다.이 파일에 정의된 함수를 가져올 수 있지만 이러한 함수를 가져오려는 파이썬 스크립트가 다음과 같은 디렉터리에 있는 경우에만box_utils.py 답을 보세요.

혜택 없음:저의 경우, 다음과 같은 마침표가 있는 수입 명세서와 함께 이 오류를 우연히 발견했습니다.from .foo import foo그러나 이 구문은 Python에게 다음과 같이 말합니다.foo.py패키지의 일부입니다. 그렇지 않았습니다.제가 기간을 제거했을 때 오류가 사라졌습니다.

다른 사전에 포함된 경우script.py루트에서 액세스할 수 있습니다.예를 들어:

프로그램이 구성된 경우...:

/alpha
  /beta
    /delta
  /gamma
    /epsilon
      script.py
    /zeta

...그리고 나서 대본은epsilon디렉토리는 다음 사용자가 호출할 수 있습니다.

from alpha.gamma.epsilon import script

최신 파이썬 버전에서 가져오기, 직접 사용 안 함..원하는 파일을 가져올 수 있습니다.이 기술은 하위 디렉터리에서 작동합니다.상위 디렉토리에서 가져올 경우 디렉토리의 전체 경로를 배치합니다.

package
   |--__init__.py
   |--foo.py
   |--bar.py

의 내용bar.py

from .foo import func
...

동일한 오류가 발생하는 경우from .foo import func.

당신이 그것을 포장하는 것을 잊었기 때문입니다.그래서 당신은 단지 만들기만 하면 됩니다.__init__.py안에서.package디렉토리입니다.

언급URL : https://stackoverflow.com/questions/55084977/attempted-relative-import-with-no-known-parent-package

반응형