상대경로(?) 임포트

원래 파이썬에서 import 하면 모듈이 존재하는 곳을 맨 먼저 찾고, 표준 서치 패스를 찾게 되어있습니다. 그런데, 얼마 전 Raymond의 [WWW]크리스마스 소원 목록에서 등장해서 엄청난 이슈를 일으키고 있는 명시적 상대 경로 임포트 (explicit relative import)가 이제 뭔가 대세가 되고 있군요.

중간에 문법과 구현 원리가 엄청 많이 제시되기는 했지만, 대충 지금까지의 의견 수렴은

  • ‘.’를 기본 sys.path에서 뺌 (지역 디렉토리에서의 단순 임포트 불가)

  • from의 패키지명 앞에 . 1개를 쓰는 경우 지역 디렉토리, 2개이상을 쓰는 경우 상위 디렉토리를 찾음.

이렇게 되어가고 있는데, 여기서도 구체적인 문법 모양 등의 사안에 대해서는 의견이 아직 분분하군요. :) 예를 들면 현재 같은 디렉토리에 있는 파일을 임포트할 때 import what하면 될 게, 이제 앞으로는 from . import what이 된다는.. 상위 디렉토리의 다른 패키지 모듈을 임포트 하는 경우에는 from ..subdir import what 이런식으로 일단은 될 모양이군요. (아직 결정은 안 됨)

이 이외의 의견으로는 이런 것도 있습니다. (다들 나름대로의 지지자들을 확보. :) )

  • 상위 디렉토리에 올라갈 때 .대신 __parent__를 쓰고 현재 디렉토리에서 임포트할 때에는 __here__에서 임포트

  • 상위 디렉토리에 올라갈 때 ../../ 식으로 슬래쉬를 넣자는 의견

  • 그냥 상대경로 임포트를 놔둔 채로 표준 경로에서 임포트할 때 from stdlib import xxx로 하자는 의견

어떻게 될 지는 며칠 더 토론이 진행되어야 될 것 같습니다. :)

12 thoughts on “상대경로(?) 임포트”

  1. 흐악.. 이거 엄청난 변화군요.
    하여간 파이썬 코어팀은 통이 크다고 해야 할지 저렇게 급진적인 변화를…
    저는 처음 것에 한 표.
    from . import what
    from ..subdir import what

    모듈들을 적당히 카테고라이징하고 네임스페이스를 정비하는 작업도 함께 이루어졌으면 좋겠네요. 이렇게 통 큰 변화가 있을 때 곁가지로….

  2. 지금 분위기로는 아무래도 from _future_ import absolute_import 를 해야 적용이 되게 할 모양입니다.
    늘 따라 붙는 Python 3.0에서 디폴트로 바꿀 것 같군요. 🙂

  3. 만약에 A라는 모듈을 상대경로로 임포트한 B를
    상대경로로 임포트하는 C가 있을경우 어떻게 처리하려나.

    PHP같은 경우는 C를 기준으로 경로를 생각하다보니 문제발생.
    하긴 PHP는 파일을 포함시키듯 인클루드하니까…

    암튼 예전에 그런식으로 상대경로를 복잡하게 작성한 코드 건드리다 짜증난 일이 있어서.. ㅋㅋ

  4. <원하지않는 내용으로 글올렸다면 죄송합니다. 비번호는1234>

    .
    시대를 조금 앞서면 얼마든지 돈벌수 있습니다.

    전업, 부업, 온라인(소호 컴 비지니스), 오프라인 모두 가능합니다.

    우리나라에서는 최초로 소호비지니스가 7월1일 오픈했습니다.

    집에서 간단하고쉽게 즐겁게 컴퓨터로도 할 수 있는 일입니다.

    요즘 할 만한 일이 없었는데,이런 소호 비지니스가 한국에도 생
    겨서 정말 다행입니다.

    시작하게 되면 본인의 도메인명을 하나 만드시면 됩니다 .예쁜 인터
    넷가게 이름을 지어면 되는데,1년 도메인등록 비용은 12900원입
    니다. 돈이 투자되는 일이 아닙니다.

    자기 도메인 주소로된 *쇼핑몰홈페이지와 ,지금 제가 사람들에게
    알려서 할 사람을 모집하는 *모집 홈페이지를 본사 에서 만들어서
    제공하여 줍니다.

    1.쇼핑몰 홈페이지
    2.리크루트(모집)홈페이지

    위의 두 홈페이지는 본인, 개인 홈페이지로써 자유롭게 운영을
    하셔서소득을 올리시면 됩니다.
    .

    이 사이트가 가입회원에게 무료로 제공됩니다.
    정말 탁월한 기법이라고 메스컴에서 많이 소개된 바 있습니다.

    *쇼핑몰 광고를 해서 개인소득40%의 소득을 얻을 것인가
    * 모집을해서 로열티소득을 올릴 것인가는 본인이 결정하시면됩니다

    회사는 25년에역사가있고 세계59개국에서 시판되는,단일 매출 1위를 하는
    우수한 세포영양제품과 체중관리제품,스킨케어, 바디케어 ,헤어케어 등의

    명품으로 다기능제품입니다.특히체중조절은 빼고 찌우고 유지를 마음대로

    할수있는 최고의제품입니다.

    단순한 쇼핑몰 개념이 아닙니다.
    많은 사람들이 설명을 드리면 단순 쇼핑몰로 오해하시는 분들이 많은데
    우리나라에서는 최초의 기법이지만 이미 미국 유럽에서는 이미3-4년전
    부터 엄청난 인기를 얻고 있고 백만장자가 속출하고 있읍니다.

    상세한 것은 홈페이지를 클릭하셔서 확인하여 보시고 시작하여 보세요

    한번 믿으시면 큰 기회가 되실겁니다.

    홈페이지:www.ccn21tank.com
    *******************************************************
    메일 은 : tank@ccn21.com

    <원하지않는 내용의 글을 올렸다면 죄송합니다. 지우시는번호는1234>

  5. <원하지않는 내용으로 글올렸다면 죄송합니다. 비번호는1234>

    .
    시대를 조금 앞서면 얼마든지 돈벌수 있습니다.

    전업, 부업, 온라인(소호 컴 비지니스), 오프라인 모두 가능합니다.

    우리나라에서는 최초로 소호비지니스가 7월1일 오픈했습니다.

    집에서 간단하고쉽게 즐겁게 컴퓨터로도 할 수 있는 일입니다.

    요즘 할 만한 일이 없었는데,이런 소호 비지니스가 한국에도 생
    겨서 정말 다행입니다.

    시작하게 되면 본인의 도메인명을 하나 만드시면 됩니다 .예쁜 인터
    넷가게 이름을 지어면 되는데,1년 도메인등록 비용은 12900원입
    니다. 돈이 투자되는 일이 아닙니다.

    자기 도메인 주소로된 *쇼핑몰홈페이지와 ,지금 제가 사람들에게
    알려서 할 사람을 모집하는 *모집 홈페이지를 본사 에서 만들어서
    제공하여 줍니다.

    1.쇼핑몰 홈페이지
    2.리크루트(모집)홈페이지

    위의 두 홈페이지는 본인, 개인 홈페이지로써 자유롭게 운영을
    하셔서소득을 올리시면 됩니다.
    .

    이 사이트가 가입회원에게 무료로 제공됩니다.
    정말 탁월한 기법이라고 메스컴에서 많이 소개된 바 있습니다.

    *쇼핑몰 광고를 해서 개인소득40%의 소득을 얻을 것인가
    * 모집을해서 로열티소득을 올릴 것인가는 본인이 결정하시면됩니다

    회사는 25년에역사가있고 세계59개국에서 시판되는,단일 매출 1위를 하는
    우수한 세포영양제품과 체중관리제품,스킨케어, 바디케어 ,헤어케어 등의

    명품으로 다기능제품입니다.특히체중조절은 빼고 찌우고 유지를 마음대로

    할수있는 최고의제품입니다.

    단순한 쇼핑몰 개념이 아닙니다.
    많은 사람들이 설명을 드리면 단순 쇼핑몰로 오해하시는 분들이 많은데
    우리나라에서는 최초의 기법이지만 이미 미국 유럽에서는 이미3-4년전
    부터 엄청난 인기를 얻고 있고 백만장자가 속출하고 있읍니다.

    상세한 것은 홈페이지를 클릭하셔서 확인하여 보시고 시작하여 보세요

    한번 믿으시면 큰 기회가 되실겁니다.

    홈페이지:www.ccn21tank.com
    *******************************************************

    <원하지않는 내용의 글을 올렸다면 죄송합니다. 지우시는번호는1234>

  6. 집에서 인터넷으로 가정일 하면서 하실수 있습니다.

    자본, 경력, 학력에 관계없이 누구나 시작할수 있읍니다.

    사업,부업에 관심있으시면 꼭 확인하시고 선택하세요.

    저희회사는 25년 전통으로 5.000만명이 매일애용하는

    년간 매출50억불 이상입니다.(뉴욕증권시장에 상장된 회사임)

    매일 지속적 소비가 되는 아이템 이지요.

    사업은 온라인 오프라인 모두 쇼핑몰과 리쿠트트 홈페이지 모두 제공됨

    이것은 우리나라 7월 1일 오픈한 최고의 소호비지니스입니다.

    컴퓨터, 모르시는분도 간단하게 배워 운영이 쉽고 간단합니다.

    사업자의 수익창출은 어떻게 이루어지며 사업설명과 제품설명, 쇼핑몰과 시스템

    운영 이모든것을 확실하게 보여드립니다. 확인하셔야 선택이 가능하겠지요.

    사업 부업을 하실분 모두 당사를 방문하여

    모든것을 완전하게 보시고 할수 있도록 합니다.

    세계최고의 시스템으로 꼭 돈벌고 싶으시면 본인푸로필을

    입력해주세요. 성명 년령 주소 전화를 (안내하겠읍니다.)

    이메일:tank@ccn21.com 또는: y3k0204@hanmail.net

    *******************************************************
    <원하지않는 내용의 글을 올렸다면 죄송합니다. 지우시는번호는1111>

Comments are closed.