python eggs 가 뭐지? 도대체 어디에 어떻게 사용하는 거지? 혼란스러워 지금부터 정리합니다.

지금부터 코드 파일을 관리하는 파이선의 방법을 이해하고자 합니다.

파이선은 스크립트 언어로서 컨솔에서 바로 실행해서 확인할 수 있습니다.

프로그램 단위를 모듈이라고 부르고 이 모듈을 디렉토리로 묶어서 관리하는 것을 패키지라고 부릅니다.


1. Module

코드 재사용을 위한 기본적인 단위

다른 코드에서 가져와서 사용할 수 있는 코드 블락

hello.py 

def helloworld():

    print 'Hello World'


위의 모듈에서 다른 모듈에서 함수를 가져오는 방법은 아래와 같습니다.

from hello import helloworld


2. Package

다른 모듈을 포함하고 있는 모듈

_init_.py 파일을 가지고 있기 때문에 다른 디렉토리와 구분이 되고 파일시스템에서 하나의 디렉토리 안에 포함되는 형태

구조는 아래의 형태입니다

hello /

   __init__.py

__init__.py 파일은 파이선 패키지 디렉토리로서 디스크에 표시하기 위해 사용되어 집니다. 기본적으로 안에 내용이 없습니다.

mydir/spam/__init__.py

mydir/spam/module.py

위의 소스에서 하위 모듈 spam 을 패키지로 분리해서 아래와 같이 접근할 수 가 있습니다.

import spam.module

from spam import module


from hello import helloworld

or

import hello.helloworld


3. distutils

모듈 및 패키지를 모아서 배포해야 될 필요가 있을 것입니다. 그럴때 사용하면 됩니다.

구조는 이렇게 됩니다.

somedir /

setup.py

hello /

__init__.py

hello.py

setup.py 의 스크립트는 압축정보가 들어가도록 되어 있습니다.

from distutils.core import setup

setup( name='hello', version='1.0', package=['hello'],)

배포용 압축파일을 만드는 실행 명령문입니다.

python setup.py sdist

압축및 설치를 하는 명령문입니다.

python setup.py install


4. egg

setuptools 을 사용해서 배포할때 사용하는 배포용 압축파일 입니다.

from setuptools import setup

setup( name='hello', version='1.0', package=['hello'],)

배포용 압축파일을 만드는 실행명령문입니다.

python setup.py bdist_egg

설치하는 명령문입니다.

easy_install hello



블로그 이미지

희망잡이

,