-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
from .sub.sub1 import * 오류
21.01.26 00:04 작성 조회수 221
1
아래에서도 같은 질문을 주셨는데, sub 앞에 .을 찍어도 정상 실행이 된다고 하셨는데 똑같이 실행해 보았더니 에러가 발생하였습니다.
from .sub.sub1 import *
ImportError: attempted relative import with no known parent package
점을 찍기 전까지는 아무런 문제 없이 잘 작동하였는데, 왜 이런 현상이 발생하는지 궁금합니다..!
답변을 작성해보세요.
1
PARK JUNYEONG
2021.01.26
강사님
강사님이 올려주신 링크로 들어가서 읽어봤습니다!
읽어보니 사용하려는 패키지의 모든 모듈(*)을 절대경로는 접근 가능하나, 상대경로는 접근 못한다고 되어있던데
그러면 파이썬에서는 from 상대경로 import *를 통한 패키지는 사용을 못하고 from 절대경로 import*만 가능한가요?
0
0
0
좋은사람
지식공유자2021.01.26
안녕하세요.
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
2021.01.26
답변을 해드리려고 직접 해봤는데 저도 안되어서 궁금하네요.
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 *
실행을 시키면 아래 이미지처럼 오류가 납니다.
무엇이 문제일까요?
답변 5