Tuesday_June_30
.
.
.
์์ ๊ฐ์ ๊ตฌ์กฐ๋ก ๋ง๋ค์ด์ผ ํ๋ค.
test_python ์ด๋ผ๋ ์ต์์ ํด๋ ์์ calculator๋ผ๋ ๋๋ ํฐ๋ฆฌ์ main.py ํจ์๋ฅผ ๋ง๋ค์๊ณ
calculator ๋ผ๋ ๋๋ ํฐ๋ฆฌ์๋ (์ธ๋๋ฐ์ธ๋๋ฐ)ini(์ธ๋๋ฐ์ธ๋๋ฐ).py, add_and_multiply.py, multiplication.py ๋ฅผ ๋ง๋ค์ด ์ฃผ์๋ค.
๊ฐ ํ์ผ์ ๋ด์ฉ์ ๋ค์๊ณผ ๊ฐ๋ค.
(์ธ๋๋ฐ์ธ๋๋ฐ)init(์ธ๋๋ฐ์ธ๋๋ฐ).py ํ์ผ >> ๋ด์ฉ์ ์๋ค.
from .multiplication import multiply # from calculator.multiplication import multiply def add_and_multiply(a,b): return multiply(a,b) + (a+b)
def multiply(a,b): return(a*b)
# absoulte path from calculator.add_and_multiply import add_and_multiply # relative path # from .calculator.add_and_multiply import add_and_multiply if __name__ == '__main__': print(add_and_multiply(1,2))
main ํ์ผ์์ ์ ๋๊ฒฝ๋ก๋ก add_and_multiply๋ฅผ import ํด์ฃผ์๋ค.
๊ทธ๋ฐ๋ฐ ๋ง์ฝ ์๋๊ฒฝ๋ก์ธ
from .calculator.add_and_multiply import add_and_multiply
๋ก import๋ฅผ ํ๊ฒ ๋๋ฉด,
# absoulte path # from calculator.add_and_multiply import add_and_multiply # relative path from .calculator.add_and_multiply import add_and_multiply if __name__ == '__main__': print(add_and_multiply(1,2))
๋ค์๊ณผ ๊ฐ์ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค.
ImportError: attempted relative import with no known parent package
ํ์ด์ฌ์ ์คํํ๋(main)ํ์ผ์ ๋ฌด์กฐ๊ฑด x 100 ์ ๋ ๊ฒฝ๋ก๋ก ๋ชจ๋์ด๋ ํจํค์ง๋ฅผ ๊ฐ์ ธ์์ผ ํ๋ค๊ณ ํ๋ค.
๊ณต์๋ฌธ์์ ๊ทธ๋ ๊ฒ ๋์์๋ค. ์ดํดํ๋ ค๋ค ๋จธ๋ฆฌ๊ฐ ํฐ์ง๋ปํ๋ค.
์ฌ๊ธฐ์ ์ค์ํ ๊ฒ์, ์ด๋ฆ์ด main์ธ ํจ์์์ ์ ๋ ๊ฒฝ๋ก๋ก import๋ฅผ ํ๋ ๊ฒ์ด ์๋๋ผ,
์คํ์ค์ธ ํ์ผ์ main ํ์ผ์ด๋ผ๊ณ ํ๋ ๊ฒ์ด๋ค.
add_and_multiply.py ํ์ผ์ ์คํ์ค์ธ ํ์ผ(main)์ด ์๋๊ธฐ ๋๋ฌธ์, ์ด๋ ํ ๊ฒฝ๋ก๋ก muriplication ๋ชจ๋์ multiple ํจ์๋ฅผ ๊ฐ์ ธ์๋ ์๊ด์ด ์๋ค.
์๋ฌ ๋ํ ๋์ง ์๋๋ค.
์ฐจ์ด์ ์ด๋ผ๊ธฐ ๋ณด๋จ, import์ ์ ๋ ๊ฒฝ๋ก์ ์๋ ๊ฒฝ๋ก ๋ชจ๋ ๊ฐ๋ฅํ์ง๋ง, ์คํํ๋ ํ์ผ(main)์์๋ ์ ๋ ๊ฒฝ๋ก๋ก๋ง import๋ฅผ ํด์ฃผ๋ฉด ๋๋ค.
(์ธ๋๋ฐ์ธ๋๋ฐ)init(์ธ๋๋ฐ์ธ๋๋ฐ).py ํ์ผ์ ํด๋น ๋๋ ํฐ๋ฆฌ๊ฐ ํจํค์ง์ ์ผ๋ถ๋ผ๋ ๊ฒ์ ์๋ ค์ฃผ๋ ์ญํ ์ ํ๋ค. ๋ง์ฝ calculatorํจํค์ง์ (์ธ๋๋ฐ์ธ๋๋ฐ)init(์ธ๋๋ฐ์ธ๋๋ฐ).py ํ์ผ์ด ์๋ค๋ฉด, calculator๋ผ๋ ํจํค์ง๋ฅผ ํจํค์ง๋ผ๊ณ ์ธ์์ ๋ชปํ๊ฒ ๋๋ค.
**๊ทธ๋ฐ๋ฐ python3.3 ๋ฒ์ ๋ถํฐ๋ (์ธ๋๋ฐ์ธ๋๋ฐ)init(์ธ๋๋ฐ์ธ๋๋ฐ).py ํ์ผ์ด ์์ด๋ ํจํค์ง๋ก ์ธ์ ํ์ง๋ง(PEP 420) ํ์ ๋ฒ์ ํธํ์ ์ํด (์ธ๋๋ฐ์ธ๋๋ฐ)init(์ธ๋๋ฐ์ธ๋๋ฐ).py ํ์ผ์ ์์ฑํ๋ ๊ฒ์ด ์์ ํ ๋ฐฉ๋ฒ์ด๋ผ๊ณ ํ๋ค.