세로형
Recent Posts
Recent Comments
Link
11-25 00:03
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Archives
Today
Total
관리 메뉴

꿈 많은 사람의 이야기

github repository로 python pip install 만드는 방법 정리 본문

python

github repository로 python pip install 만드는 방법 정리

이수진의 블로그 2020. 7. 11. 14:06
반응형
728x170

포스팅 개요

이번 포스팅은 Python의 패키지를 관리해주는 pip install에 대해서 정리합니다. 그 중 github(혹은 gitlab 등)를 이용해서 pip install을 하는 방법에 대해서 정리를 해보려고합니다. 이렇게 git을 이용해서 pip install을 할 수 있는 환경을 만들어주면 본인만의 라이브러리를 구축하고 편하게 사용할 수 있기 때문에 여러 방면으로 유용합니다. 그래서 이거를 나중에도 사용할 수 있도록 아주 간단한 예시로! 미리 정리해두려고 합니다.


포스팅 본문

Python의 pip는 파이썬으로 패키지를 관리해주는 시스템인데요. 보통은 사람들이 만들어 놓은 패키지를 pip install을 이용해서 패키지를 설치합니다. 예를 들어서 아래와 같죠

  • pip install tensorflow
  • pip install sklearn

이러한 패키지는 미리 만들어진 패키지입니다. 그러나, 프로젝트를 하다보면 본인이 작성한 코드를 Class로 만들거나 Function으로 만들어서 사용할 수도 있는데요. 이런 Class 등을 매번 복사 붙여넣기 하기엔 너무 반복적이니까, 이것을 패키지로 만들면 더 좋습니다. 그 패키지로 만드는 간단하게 할 수 있는 방법은 바로 github을 이용해서 사용하는 방법입니다.

1. github repo 만들기

먼저, 사용할 github repository를 만들어야 합니다. private, public 둘 다 크게 상관 없습니다. 저는 그냥 public으로 했습니다.

아래와 같이 github repo를 만들어주시면 됩니다 ~

gitignore나 README.md는 선택사항입니다. 자! 이제 저 git을 clone하여 가져옵니다.

 

2. github repo 디렉토리에 Python package로 만들 코드 추가

github repo를 clone해 왔으면 아래와 같은 구성으로 디렉토리를 구성해줘야 합니다.

  • git repo이름
    • Package 이름
      • __init__.py
      • 그 외 Python 파일들 
    • setup.py
    • requirements.txt

저는 아래와 같이 구성을 잡았습니다. 간단한 예시를 드는 것이므로 파일이 많지 않습니다 ㅎㅎ

반응형

각 파일이 뜻하는 것은 아래와 같습니다.

  • __init__ : 해당 Python 환경이 패키지라는 것을 알려줍니다. init.py에서는 Python package에서 사용하는 파일들의 정보를 담아두면 됩니다. 자세한 것은 아래 예시에 작성해놓았습니다.
  • 그 외 Python file : 패키지에서 사용되는 파일들입니다.
  • setup.py : Pip install을 할 때 사용되는 Python package setup 정보입니다. name, description, version 등이 여기에 포함되어 있습니다.

 

각 파일의 예시를 한 번 봐볼까요? 저는 아래와 같이 작성하였습니다.

__init__.py

저는 soojin.py 라는 Python 파일에서 각종 정보를 가져오도록 init에 구성하였습니다.

 

soojin.py

soojin.py에는 별 내용이 없습니다. 매개변수로 msg라는 것을 받아서 출력해주는 print_soojin 이라는 함수가 존재합니다. 간단한 예시를 들기 위해서 매우매우 간단하게 만들었습니다!

requirements.txt

필요에 따라서 해당 Python package에 필요한 다른 라이브러리들이 있을 수 있습니다. 그 라이브러리가 설치되어야 해당 패키지가 정상적으로 설치 되기 때문에 requirements.txt 파일을 이용해서 해당 패키지가 정상적으로 설치되도록 해줍니다.

set.py

setup.py에는 Python package에 대한 내용을 담아둡니다. 해당 파일에는 다양한 인자값을 넣을 수 있습니다. 특히 name과 url, version, install_requires는 중요한 부분입니다.

  • name : Package의 이름입니다.
  • version : Package의 버전입니다. numpy나 pandas 등과 같은 패키지에도 버전이 있죠? 그 버전을 뜻합니다.
  • url : github repo url이 들어가게 됩니다.
  • install_requires : 필요한 lib 들을 명시해줍니다.

 

3. github에 배포

자! 이렇게 만든 구성을 이제 git repo에 배포해줍니다.

300x250

별 다른 문제가 없다면 git push 까지 잘 될 것입니다.

 

4. pip install git+https:// 로 설치하기

이제 여기까지 되었으면 git을 이용해서 pip install 할 준비를 다 마쳤습니다. 이제 pip install을 이용해서 github에 있는 Package를 설치해볼까요? 설치 명령어는 아래와 같습니다.

  • pip install git+https://~~.git

자! 밑에 successfully installed 하면서 install require에 적어두었던 numpy와 제가 만든 패키지인 soojin_lib이 설치가 되었습니다.

실제로 Python 환경에서 pip list를 입력하게 되면 아래 사진과 같이 패키지가 설치되어 있음을 확인할 수 있습니다.

이렇게요! 

그럼 이제 파이썬 환경에서 방금 github pip install한 패키지를 사용해볼까요?

잘 되는 것을 볼 수 있습니다.


맺음말

이번 포스팅은 github를 이용해서 pip install을 할 수 있도록 Python package를 만들어보았습니다. 저도 제가 코드를 짜면서 자주 사용하는 방법이 있는데, 그러한 것들을 미리 모아서 패키지화 해서 사용해야겠다는 생각이 드네요 ㅎㅎ

감사합니다.

반응형
그리드형
Comments