Python 패키지 개발하기
James Fulton
Climate informatics researcher
mysklearn의 setup.py 내부
setup(
...
classifiers=[
'Development Status :: 2 - Pre-Alpha',
'Intended Audience :: Developers',
'License :: OSI Approved :: MIT License',
'Natural Language :: English',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
],
...
)
mysklearn/
...
|-- README.md
|-- setup.py
|-- Makefile <---
...
Makefile 내부
... dist: ## 소스와 휠 패키지 빌드 python3 setup.py sdist bdist_wheelclean-build: ## 빌드 산출물 제거 rm -fr build/ rm -fr dist/ rm -fr .eggs/test: ## 기본 Python으로 빠르게 테스트 실행 pytestrelease: dist ## 패키징 후 릴리스 업로드 twine upload dist/*
make <function-name>
mysklearn/ <--- 여기로 이동
...
|-- README.md
|-- setup.py
|-- Makefile
...
dist 기능을 쓰려면 터미널에 입력하십시오
make dist
Makefile 내부
...
dist: ## 소스와 휠 패키지 빌드
python3 setup.py sdist bdist_wheel
clean-build: ## 빌드 산출물 제거
rm -fr build/
rm -fr dist/
rm -fr .eggs/
test: ## 기본 Python으로 빠르게 테스트 실행
pytest
release: dist ## 패키징 후 릴리스 업로드
twine upload dist/*
make help
clean 모든 빌드, 테스트, 커버리지, Python 산출물 제거
clean-build 빌드 산출물 제거
clean-pyc Python 파일 산출물 제거
clean-test 테스트와 커버리지 산출물 제거
lint flake8로 스타일 검사
test 기본 Python으로 빠르게 테스트 실행
test-all tox로 모든 Python 버전에서 테스트
release 패키징 및 릴리스 업로드
dist 소스와 휠 패키지 빌드
install 활성 Python의 site-packages에 설치
Python 패키지 개발하기