일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- kotlin
- Java
- 파이썬
- 리눅스
- jpa
- oracle
- Database
- chatGPT's answer
- spring data jpa
- python
- 고전역학
- 역학
- 소프트웨어공학
- flet
- JVM
- 웹 크롤링
- android
- write by chatGPT
- 시스템
- write by GPT-4
- 유닉스
- spring integration
- GPT-4's answer
- NIO
- 자바암호
- 코틀린
- 자바네트워크
- 데이터베이스
- 인프라
- 자바
- Today
- Total
Akashic Records
13.5 패키징 및 배포 본문
파이썬 프로젝트의 패키징 및 배포는 프로젝트를 재사용 가능한 형태로 묶고(PyPI와 같은 패키지 저장소에 업로드하여 다른 사람들이 쉽게 설치하고 사용할 수 있게) 배포하는 과정입니다. 이 과정은 setuptools, wheel, twine 등의 도구를 사용하여 수행할 수 있습니다.
패키징 및 배포를 위한 예제 프로젝트 구조는 다음과 같습니다:
example_project/
├── example_package/
│ ├── __init__.py
│ └── example_module.py
├── setup.py
└── README.md
패키징 및 배포를 위해 다음 단계를 수행합니다:
setuptools, wheel, twine 설치:
pip install setuptools wheel twine
setup.py 파일 작성:
프로젝트의 메타데이터와 종속성을 정의하는 setup.py 파일을 작성합니다.
from setuptools import setup, find_packages
setup(
name="example-package",
version="0.1.0",
description="An example Python package",
author="Your Name",
author_email="your.email@example.com",
url="https://github.com/yourusername/example-project",
packages=find_packages(),
install_requires=[
# 프로젝트의 종속성을 여기에 나열하세요.
],
classifiers=[
"Development Status :: 3 - Alpha",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
],
)
패키지 빌드:
다음 명령어를 실행하여 소스 및 바이너리 배포 패키지를 생성합니다.
python setup.py sdist bdist_wheel
이 명령어를 실행한 후에 dist/ 디렉토리가 생성되고, 그 안에 .tar.gz 파일(소스 배포)과 .whl 파일(바이너리 배포)이 생성됩니다.
패키지 업로드:
먼저, PyPI 및 TestPyPI에 계정을 생성하세요. 그런 다음 다음 명령어를 실행하여 패키지를 TestPyPI에 업로드합니다.
twine upload --repository-url https://test.pypi.org/legacy/ dist/*
이제 패키지가 TestPyPI에 업로드되었습니다. 패키지가 정상적으로 작동하는지 확인한 후, 다음 명령어를 실행하여 패키지를 PyPI에 업로드합니다.
twine upload dist/*
이제 패키지가 PyPI에 업로드되었으며, 다른 사람들이 pip install example-package와 같은 명령어를 사용하여 패키지를 쉽게 설치하고 사용할 수 있습니다.
이 예제를 통해 파이썬 프로젝트를 패키징하고 PyPI에 배포하는 기본적인 과정을 알아보았습니다. 이 과정을 통해 작성한 코드를 다른 사람들과 공유할 수 있으며, 다양한 환경에서 프로젝트를 쉽게 설치하고 사용할 수 있도록 지원할 수 있습니다.
실제 프로젝트에서는 setuptools에 대한 추가적인 설정, 패키지 버전 관리, 패키지에 대한 문서 작성 등이 필요할 수 있습니다. 이러한 내용을 고려하여 프로젝트를 관리하고, 필요한 경우 CI/CD 파이프라인에 패키징 및 배포 과정을 통합하여 프로젝트의 전체적인 개발 및 배포 프로세스를 개선할 수 있습니다.
'Python for Beginners' 카테고리의 다른 글
14.2 scikit-learn 라이브러리 (0) | 2023.04.25 |
---|---|
14.1 기계학습 소개 (0) | 2023.04.25 |
13.4 지속적 통합(CI)과 지속적 배포(CD) (0) | 2023.04.17 |
13.3 코드 리뷰와 리팩토링 (0) | 2023.04.17 |
13.2 통합 테스트 (0) | 2023.04.17 |