본문 바로가기

Python

[코드공유하기] 함수 모듈 #2

함수 모듈 #2


모듈을 공유하기 위해서 배포를 합니다.
배포 : 유틸리티는 파이썬에서 모듈을 빌드하고, 패키지를 만들고, 배포할 수 있게 해 주는 일련의 파일들

배포 준비

1. nester라는 이름의 폴더명을 만들어 nester.py 모듈 파일을 복사합니다.

2. 새로 만든 폴더에 아래 코드가 입력된 setup.py라는 파일을 만듭니다.

from distutils.core import setup

setup(
    name = 'nester',
    version = '1.0.0',
    py_modules = ['nester'],
    author = ' ',
    author_email = ' ',
    url = ' ',
    description = ' ',
    )

빈칸은 헤드 퍼스트 랩의 메타데이터입니다. 알맞게 입력하세요.

3.배포 패키지를 만듭니다.
도스창을 열어 nester 폴더로 이동한 후 python3.py sdist 라고 입력하세요
windos 사용자는 python3를 <설치경로>\python.exe로 바꾸어주세요.


4. 배포패키지를 자신의 환경에 맞게 설치합니다.
도스창에 sudo python3 setup.py install이라고 입력합니다. (windows에서는 sudo를 입력하지 않습니다.)


여기까지 완료하면 배포 패키지가 준비된 것입니다.

PyPI에 배포 패키지를 올리기 위해서는 pypl 웹사이트에 코드를 등록해야 합니다..

http://pypi.python.org/ 에서 가입하세요.
PGP 키가 없다면 비워주셔도 됩니다.
등록에 필요한 정보를 입력하면 등록한 이메일 주소로 확인 메세지가 발송됩니다.
메일에는 PyPI 등록확인을 위한 링크가 있는데 링크를 클릭하면 PyPI 등록 절차가 완료됩니다.

코드를 PyPI에 등록하기
배포 패키지를 PyPI에 업로드하기 위해서는 PyPI에 등록하고 업로드하는 두 가지 일을 명령행에서 진행해야 합니다.
명령행 업로드 도구는 여러분의 PyPI 아이디와 비밀번호를 알아야 합니다. 이 과정은 단 한번이면 됩니다.



실제 업로드하는 명령을 입력합니다.

PyPI에 배포 패키지를 업로드하라고 setup모듈에 명령하세요.

모듈이 PyPI에 업로드 되었습니다.

모듈을 사용하려면 임포트를 해야합니다.
 

import nester

import 키워드를 사용하고 모듈이름을 지정시 확장자 .py는 쓰지 마세요.
여기서 import 문은 nester.py 모듈을 프로그램에 포함 시키라고 파이썬에 명령을 합니다.

파이썬 프로그램은 __main__이라는 네임스페이스에 연결되어있습니다.
코드를 모듈에 넣으면 파이썬은 그 모듈의 코드를 모듈 이름과 같은 네임스페이스에 넣기 때문에 모듈에 있는 코드는 nester라는 네임스페이스에 연결됩니다.

사람의 이름 성과 같다고 생각하시면 됩니다.
'모듈 이름.함수이름()' 형태를 가지므로
호출시 print_lol(cast)가 아닌 nester.print_lol(cast)라고 해야합니다.

>>> import nester
>>> cast=['Palin', 'Cleese', 'Idle', 'Jones', 'Gilliam', 'Chapman']
>>> print_lol(cast)
Traceback (most recent call last):
   File "<pyshell#4>", line 1, in <module>
       print_lol(cast)
NameError: name 'print_lol' is not defined

>>> nester.print_lol(cast)
palin
Cleese
Idle
Jones
Gilliam
Chapman