티스토리 뷰

반응형

개요

python의 pip은 코딩에 필요한 각종 라이브러리를 쉽게 설치할 수 있도록 도와주는 명령어입니다. 그래서 일반적으로 많이 사용하는 numpy, pandas 등을 설치할 때에는 터미널에서 아래 명령어를 실행하여 설치합니다.

pip install numpy
pip install pandas

코드를 작성하다보면 자주 사용하는 코드들을 반복적으로 사용할 일이 생기게 됩니다. 이럴때 나만의 library를 만들어서 배포할 수 있다면 매번 복붙대신 pip로 설치해서 사용하기 쉬워집니다.

가장 쉬운 방법으로 github의 repository를 설치 패키지로 만들어서 pip install을 해보겠습니다.

github repostiory 만들기

아래처럼 github에서 패키지로 사용할 repository를 만들어 줍니다.

프로젝트 폴더에 python package 코드 추가

해당 project를 clone해서 프로젝트내에 다음과 같은 파일을 추가해 줍니다.

  • package 이름
    • __init__.py
    • 그외 원하는 파일
  • setup.py
  • requirements.txt

각 파일에는 아래와 같은 코드를 작성해주면 됩니다.

프로젝트 구조

저는 아래와 같이 프로젝트 폴더를 구성했고, helper라는 패키지를 만들어보겠습니다.

test.py

실제 동작하는 함수를 작성하는 파일로 아래와 같이 hello world를 출력하는 함수를 만들었습니다.

__init__.py

아래와 같이 동작 함수가 들어있는 test.py 파일에 있는 모든 함수들을 import 해줍니다.

requirements.txt

해당 패키지를 사용할때 필요한 추가적인 라이브러리들을 명시해주면 됩니다. 아래는 예시로 pandas를 넣어놨습니다.

setup.py

패키지를 만들기 위해서 가장 중요한 setup.py를 구성해주어야 합니다.

setup()함수는 아래와 같이 작성하고 각 파라미터에 대해 알맞게 입력해주어 사용합니다.

name은 패키지 이름으로 위의 패키지 폴더와 같은 이름을 사용해야 합니다.

추가적으로 설치가 필요한 패키지들은 install_requires 파라미터 란에 리스트 형태로 넣어줍니다. 단순히 pandas만 입력했지만 특정버전을 입력해도 됩니다.

github에 배포

위처럼 구성된 프로젝트를 커밋하여 github repository에 push 해줍니다.

git add .
git commit -m "first commit"
git push origin master

pip install git+https://로 설치

이제 github저장소는 pip로 설치 가능한 패키지로 세팅이 되었습니다. 아래 명령어를 실행하여 현재 사용중인 가상환경에서 설치해주면 됩니다.

pip install git+http://xx.git

코드 동작 확인

이제 python코드에서 정말 동작하는지 확인해보겠습니다. python을 열어서 제가 임의로 정한 helper라는 이름의 패키지를 import해보고 print_hello_world() 함수를 호출해보겠습니다.

위와같이 정상적으로 Hello World 문구가 출력되는 것을 확인할 수 있습니다.

결론

python 코드를 작성하면서 많은 프로젝트에 반복적으로 들어가는 코드들은 복붙하지 말고 패키지로 만들어서 관리하면 일관된 코드를 사용할 수 있고, 해당 코드 관리에 훨씬 용이하기 때문에 적극 활용하시면 좋을 것 같습니다.

참고자료

https://lsjsj92.tistory.com/592


Uploaded by N2T

반응형
댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday