2012-07-31 4 views
3

은 여기 내 구조, 이제파이썬 패키지 만드는 법?

main.py 
folder1\ 
    button.py 
    folder2\ 
     picturebutton.py 
folder3\ 
    listbox.py 
    folder4\ 
     customlistbox.py 
     folder5\ 
      hyperlistbox.py 

입니다

나는, "widget.py"라는 모듈을 가지고 있고 각 모듈이 될 수 있도록 여기에 모든 모듈에 액세스 할 수 있도록하고 싶습니다 import widget 또는 그와 비슷한 것을 말할 수 있습니다. 인터넷 검색 후, 이렇게하려면 패키지를 만들어야합니다.

나는 그들이 어떻게 작동하는지 전혀 모르기 때문에 예제를 온라인으로 사용할 수 없었고, 여러분 중 한 명이 내 경우를 도와 줄 수 있기를 기대합니다.

편집 : 모든 폴더 (루트 파일 제외)의 파일은 __init__.py입니다.

답변

2

다른 모듈을 가져올 수있는 패키지가 필요하지 않은 경우 widget 모듈을 PYTHONPATH에 입력해야합니다. 일반적으로 설치하면됩니다 (setup.py 파일 작성, 표준 라이브러리의 distutils 모듈 참조).

패키지가 필요하다면 패키지가되어야하는 모든 폴더에 __init__.py 파일이 있어야합니다 (비어 있음).

+0

, 나는되지 않을 것 하위 디렉토리에서 액세스 할 수 있습니다. – user1513192

+0

디렉토리가 있다면 (여기에 "루트"디렉토리가 있습니다) 당신의'PYTHONPATH'에 있습니다. '위젯 (widget) '은 실제로 그 부분의 나머지 부분과 관련이있는 경우에만 그 루트에 놓습니다. – Julian

+0

응용 프로그램을 정지해도이 방법이 계속 작동합니까? 또한 언급하지 않았지만 모든 폴더 (루트 제외)에는 __init__.py 파일이 있습니다. – user1513192

0

올바른 방법은 패키지에 대한 setup.py 파일을 만드는 것이지만 시간이 걸릴 수 있습니다. 아래는 바로 가기입니다.

모듈을 스크립트에서 자주 사용하려는 경우. 쉬운 방법은 bashrc/zshrc 파일에서 "PYTHONPATH"를 내보내고 코드가있는 디렉토리에 경로를 지정하는 것입니다. 예를 들어

: I 메인 루트에`widget.py`을 넣어한다면

export PYTHONPATH=$PYTHONPATH:$HOME/path/to/package 

터미널을 확인 함

echo "$PYTHONPATH" 

해피를 사용하여 코딩