Phát triển gói Python
James Fulton
Climate informatics researcher
Trong setup.py của mysklearn
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 <---
...
Bên trong Makefile
... dist: ## build gói source và wheel python3 setup.py sdist bdist_wheelclean-build: ## xóa artifact build rm -fr build/ rm -fr dist/ rm -fr .eggs/test: ## chạy test nhanh với Python mặc định pytestrelease: dist ## đóng gói và tải bản phát hành lên twine upload dist/*
make <function-name>
mysklearn/ <--- điều hướng đến đây
...
|-- README.md
|-- setup.py
|-- Makefile
...
Để dùng hàm dist, gõ trong terminal
make dist
Bên trong Makefile
...
dist: ## build gói source và wheel
python3 setup.py sdist bdist_wheel
clean-build: ## xóa artifact build
rm -fr build/
rm -fr dist/
rm -fr .eggs/
test: ## chạy test nhanh với Python mặc định
pytest
release: dist ## đóng gói và tải bản phát hành lên
twine upload dist/*
make help
clean xóa mọi artifact build, test, coverage và Python
clean-build xóa artifact build
clean-pyc xóa artifact file Python
clean-test xóa artifact test và coverage
lint kiểm tra style với flake8
test chạy test nhanh với Python mặc định
test-all chạy test trên mọi phiên bản Python với tox
release đóng gói và tải bản phát hành lên
dist build gói source và wheel
install cài gói vào site-packages của Python đang dùng
Phát triển gói Python