pip 모듈(또는 패키지) 생성 – 1



모듈을 만드는 이유

모듈은 함수, 변수 또는 클래스를 포함하는 Python 파일입니다. 프로그래밍 속담에 이런 말이 있습니다.


바퀴를 재발명하지 마십시오(개구리가 말한 것이 아님)

이 말처럼 세상에는 이미 다양한 것을 구현할 수 있는 많은 기능들이 있습니다. 우리는 이것을 가져갔고 아마도 이전에 여러 번 사용했을 것입니다. 아래 이미지와 같이 콘솔. 핍 목록현재 설치된 모듈을 확인할 수 있습니다.


그 외에도 장착할 수 있는 모듈이 많습니다.

도대체 사람들이 다른 사람들이 사용하도록 그것을 어떻게 내놓았습니까? 나는 매우 궁금하다. 그것이 우리가 경험하고 싶은 것입니다. 모듈을 직접 빌드하고 배포하려고 합니다.


ARABOZA 모듈 제조 공정.

1. 폴더 구조 정렬

project/
	package/
    		__init__.py
        	module.py
	README.txt
	setup.py

위의 이미지는 기본 폴더 구조입니다. 이것은 항상 맞아야 합니다. 폴더 이름의 역할다음과 같다

프로젝트 – 모듈을 배포하기 위해 제공하는 이름(우리 pip(프로젝트) 설치 가져올 것이다.)

package – 패키지 또는 모듈화의 이름(우리 (패키지)에서 가져오기 ~~가져왔다.)

일반적으로 프로젝트 파일 이름과 패키지 파일 이름은 동일합니다.

module.py – 패키지가 내부 모듈인 경우 가져올 수 있는 이름(우리 from (패키지) 가져오기 (module.py) 인 개념)

모듈식으로 전환하는 경우 이 이름은 그다지 중요하지 않습니다.

우리는 이름으로 작동하는 일을 대략적으로 수행했습니다. 아래는 예시 이미지입니다.


2. 모듈을 만들어 봅시다

과거 이중 주문으로 고생했던 기억이 나는 스타들을 쉽게 촬영할 수 있는 모듈을 만들어 배포하겠습니다.

# module.py

def starpix(star_index, updown="up"):
    
    if updown == "up":
        i = 0
        while i <= star_index:
            print("*"*i)
            i += 1
            
    elif updown == "down":
        i = 0
        miner_idx = star_index
        while i <= star_index:
            print("*"*miner_idx)
            miner_idx -= 1
            i += 1

기본 값은 피라미드 형태로 만들어 놓았고, 설정 값을 입력하면 역순으로 할 수 있었습니다.

# __init_.py

from .module import *

init 파일에서 위와 같이 설정하고 패키지가 아닌 단순 모듈로 작동하도록 모듈 이름을 포함합니다.

아래 단계를 따르기 전에 먼저 설치해야 합니다.

pip install setuptools

# setup.py

from setuptools import setup, find_packages

setup(
    name="pystarpix", # 패키지 이름(소문자 영어)
    version = '1.0.0', # 버전(버전 업뎃후 재 배포시 숫자를 올려줘야한다.)
    description = 'very good', # 설명
    author="None", # 본인의 이름(자유롭게)
    author_email = None, # 본인의 이메일
    url = None, # 깃허브 링크나 홍보링크(뭐 안적어도 된다)
    install_requires = (), # 모듈을 제작할 때 사용된 패키지를 같이깔아준다.
    packages=find_packages(), # 패키지를 찾는 코드(꼭 넣어준다)
)

setup.py 파일은 배포판에 대한 정보를 쓰는 파일입니다. 위와 같이 설정하고 설명을 받아들이도록 조정합니다.

위의 사항을 모두 적어두는 것이 좋습니다.

이것이 모든 모듈이 만들어진 방식입니다. 다음편에 유통편으로 찾아오겠습니다.