inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)

Package(3-2)

from .sub.sub1 import * 오류

344

Rim

작성한 질문수 8

1

아래에서도 같은 질문을 주셨는데, sub 앞에 .을 찍어도 정상 실행이 된다고 하셨는데 똑같이 실행해 보았더니 에러가 발생하였습니다.

from .sub.sub1 import * 

ImportError: attempted relative import with no known parent package

점을 찍기 전까지는 아무런 문제 없이 잘 작동하였는데, 왜 이런 현상이 발생하는지 궁금합니다..!

python

답변 5

1

PARK JUNYEONG

강사님

강사님이 올려주신 링크로 들어가서 읽어봤습니다!

읽어보니 사용하려는 패키지의 모든 모듈(*)을 절대경로는 접근 가능하나, 상대경로는 접근 못한다고 되어있던데

그러면 파이썬에서는 from 상대경로 import *를 통한 패키지는 사용을 못하고 from 절대경로 import*만 가능한가요?

0

PARK JUNYEONG

감사합니다 :)

0

좋은사람

네 맞습니다. 

0

좋은사람

안녕하세요.

https://velog.io/@bungouk6829/Python-%EC%9D%98-%EB%AA%A8%EB%93%88%EA%B3%BC-%ED%8C%A8%ED%82%A4%EC%A7%80-sys

위에 링크를 들어가셔서

아랫 부분에 상대 경로 파트를 읽어보세요!

그러면 아래 내용이 이해가 가실거예요!

꼼꼼히 처음부터 읽어보시면 절대, 상대 경로에 대한 복습도 되고 좋을 거예요!

사용하려는 패키지의 모든 모듈(*)을 import 하려니 절대경로로는 접근이 가능한데, 상대경로로는 접근이 불가능하다. error 을 내뱉는다.

ImportError: attempted relative import with no known parent package

이유는 python 자체에서 패키지와 모듈을 가져와 함수를 쓰는 곳에서는 상대경로로 접근자체가 불가능하게 막아놓았다.

0

PARK JUNYEONG

답변을 해드리려고 직접 해봤는데 저도 안되어서 궁금하네요.

PYTHON_BASIC
│  chapter02_01.py
│  chapter02_02.py
│  chapter03_01.py
│  chapter03_02.py
│  chapter03_03.py
│  chapter03_04.py
│  chapter03_05.py
│  chapter03_06.py
│  chapter04_01.py
│  chapter04_02.py
│  chapter04_03.py
│  chapter05_01.py
│  chapter05_02.py
│  chapter06_01.py
│  chapter06_02.py
│  chapter06_03.py
│  chapter07_01.py
│  chapter08_01.py
│  chapter08_02.py
│  chapter09_01.py
│  chapter09_02.py
│  chapter10_01.py
│  chapter10_02.py
│  first.py
│
├─resource
│      contents1.txt
│      contents2.txt
│      contents3.txt
│      it_news.txt
│      test1.csv
│      test2.csv
│      word_list.csv
│      write1.csv
│      write2.csv
│
├─sound
│      bad.wav
│      good.wav
│
└─sub
    │  __init__.py
    │
    ├─sub1
    │      module1.py
    │      __init__.py
    │
    └─sub2
            module2.py
            __init__.py

이런 식으로 파일 구조가 이루어져 있는데

현재 디렉토리(.)로 사용해보려고 구글링을 해서 이것저것 다 해봤는데 안되네요.....

cmd로 파일이 있는 루트 디렉토리가 있는 python_basic까지 가서 

python -m 옵션으로 해서 모듈을 지정해줬는데도 안 되네요 ㅠㅠ

python3 -m sub.sub1.module1
python3 -m sub.sub1.module2

python chapter06_03.py
from .sub.sub1 import *
from .sub.sub2 import *

실행을 시키면 아래 이미지처럼 오류가 납니다.

무엇이 문제일까요?

인스턴스 변수 문의

0

28

1

챕터 03_04 (튜플) 교육자료

0

28

2

Package(3-1) Sub 폴더 자료

0

35

1

아톰 출력 안됨

0

60

2

강의자료 메일 발송 요청 드립니다.

0

70

1

강의자료 메일로 보내주실 수 있으실까요?

1

48

0

Iterable 요소는 리스트로 작성해야하는 것 맞나요?

1

73

2

강의자료 부탁드립니다

0

56

2

if Flase: print('Bad')

0

57

1

=와 == 의 차이

0

74

1

functions 함수 섭들을려고하는데요

0

64

1

강의자료 부타드리겠습니다!

0

56

0

VSCODE에 VIEW에서 SELECTED INTERPRETER조회가 안됩니다.

0

65

1

강의자료 부탁드립니다.

0

49

0

dict의 Key를 바꾸는 방법

0

61

1

강의자료부탁드립니다

0

58

1

run withount 디버깅 및 F5+ctrl이 안먹혀요

0

58

1

강의 자료와 예정 다운로드

0

71

2

객체지향 vs 함수형

0

56

1

어렵네요 설정도

0

67

1

설정이 잘 된건지

0

49

1

맥 os vscode 설정 - python interpreter select

0

98

1

강의자료 부탁드립니다. mytoughgirl@naver.com 입니다.

0

42

1

vscode로 수업 진행한 영상은 없는건가요?

0

55

2