Notice
Recent Posts
Recent Comments
Link
반응형
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
31 |
Tags
- 21주차
- 전처리
- C++
- sk네트웍스familyai캠프
- 회고록
- sk네트웍스family
- 최종프로젝트
- 배포
- FastAPI
- 12기
- few-shot
- 헤더가드
- openai
- 어셈블
- sk네트웍스ai캠프
- 주간회고
- AWS
- 임베딩
- 중복인클루드
- Fine-tuning
- 소스코드
- Docker
- Rag
- zero-shot
- one-shot
- ai캠프
- #include
- Langchain
- 컴파일
- sk네트웍스familyai캠프12기
Archives
- Today
- Total
ansir 님의 블로그
Python 패키지 개발( +GitHub ) 본문
Python 패키지 개발 ~ GitHub + Colab 설치 흐름 (pyproject.toml 기반)
1. 패키지 폴더 구조 만들기
my_package/
├── my_package/ ← 실제 패키지 코드
│ ├── __init__.py
│ └── my_module.py
│
├── README.md ← 패키지 설명
├── pyproject.toml ← 설치 설정의 핵심 파일
├── .gitignore ← Git에 제외할 항목
└── LICENSE ← (선택) 라이선스 파일
2. 코드 예시
my_package/my_module.py
def hello():
return "Hello from my_package!"
3. pyproject.toml 작성
pyproject.toml
[build-system]
requires = ["setuptools>=64", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "my_package"
version = "0.1.0"
description = "A sample Python package"
authors = [
{ name = "Your Name", email = "your@email.com" }
]
readme = "README.md"
requires-python = ">=3.7"
license = { text = "MIT" }
[project.urls]
"Homepage" = "<https://github.com/your_username/my_package>"
4. .gitignore 파일 작성
.gitignore
루트 디렉토리에 다음 내용으로 생성:
__pycache__/
*.pyc
*.pyo
*.pyd
*.egg-info/
dist/
build/
.env
.venv
.ipynb_checkpoints/
.DS_Store
5. 로컬에서 설치 테스트
cd my_package/
pip install -e .
테스트
from my_package.my_module import hello
print(hello()) # "Hello from my_package!"
6. GitHub에 업로드
- GitHub에서 새 저장소 생성 (예: my_package)
- 로컬에서 Git 초기화 및 업로드
git init
git remote add origin <https://github.com/your_username/my_package.git>
git add .
git commit -m "first commit"
git branch -M main
git push -u origin main
7. Colab에서 설치 테스트
!pip install git+https://github.com/your_username/my_package.git
이후 코드 사용
from my_package.my_module import hello
hello()
추가 팁
- 패키지 이름 변경하고 싶으면 pyproject.toml의 name 필드만 수정하면 됨.
- LICENSE 파일은 MIT, Apache, BSD 중 하나 선택해서 추가하는 걸 권장.
- 패키지에 의존성이 있다면 dependencies = [...] 항목을 project 아래에 추가.
반응형
'컴퓨터 언어 > Python' 카테고리의 다른 글
옵저버 패턴과 FAST API를 활용한 도서 관리 시스템 예제 (3) | 2025.06.05 |
---|---|
FAST API 간단 실습: To-Do API 만들기 (3) | 2025.06.05 |
컴퓨팅 노트북( Computational Notebook ) (1) | 2025.03.07 |
Google Colab, 클라우드 기반 Jupyter Notebook (1) | 2025.03.05 |