Intro
Guide from PyPA: https://packaging.python.org/en/latest
ΠΠ°ΠΊΠ΅ΡΡ β ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ Π³Π°ΠΉΠ΄Ρ Π²ΡΡΠ΅ β Π²ΡΠ΅, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΎΠ±ΡΠ°Π½ΠΎ Π΄Π»Ρ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ β ΡΡΠΎ ΡΠΎ, ΡΡΠΎ Π² ΠΊΠΎΡΠ½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ pyproject.toml, setup.py ΠΈΠ»ΠΈ setup.cfg (ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π΄Π²Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ setuptools).
ΠΠΈΡΡΡΠΈΠ±ΡΡΠΈΡ (Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ):
ΠΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ (ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ, Π΅ΡΠ»ΠΈ ΡΡΠ΅Π΄Π°, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΊΠΎΠ΄ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π²Π°ΡΠ΅ΠΉ)
ΠΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Source distribution package ΠΈΠ»ΠΈ
sdist(ΡΠΎΠ±ΠΈΡΠ°Π΅Ρ Π² Π°ΡΡ ΠΈΠ².tar.gz)ΠΠΎΠΆΠ½ΠΎ ΡΠΎΠ±ΡΠ°ΡΡ ΡΠ΅ΡΠ΅Π· ΠΎΠ±ΡΡΠ½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ:
python -m build --sdist
Π‘ΠΎΠ±ΡΠ°Π½Π½ΡΠΌ ΠΏΠ°ΠΊΠ΅ΡΠΎΠΌ
ΠΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Built distribution package (ΠΈΠ»ΠΈ
wheels)Wheel-ΡΠΎΡΠΌΠ°Ρ (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ
pip, ΠΏΡΠΈΡΠ΅Π» Π½Π° Π·Π°ΠΌΠ΅Π½Ρ Egg-ΡΠΎΡΠΌΠ°ΡΡ)Egg-ΡΠΎΡΠΌΠ°Ρ (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ
setuptools)
Π‘Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠΎΡΡΠΎΡΡ ΠΈΠ· Π΄Π²ΡΡ ΡΠ°ΡΡΠ΅ΠΉ:
Build Frontend β ΡΡΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ±ΠΈΡΠ°ΡΡ ΠΈΠ· ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΏΠ°ΠΊΠ΅Ρ Π΄Π»Ρ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ. ΠΡΠΈΠΌΠ΅ΡΡ build frontend β
pipΠΈbuild,poetry,hatchΠΈ Π΄Ρ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Build Backend's.Π‘Π±ΠΎΡΠΊΠ°:
~ python -m pip install --upgrade build
~ cat pyproject.toml
~ python -m build
~ ls -al
dist/
βββ example_package_YOUR_USERNAME_HERE-0.0.1-py3-none-any.whl
βββ example_package_YOUR_USERNAME_HERE-0.0.1.tar.gzBuild Backend β ΡΡΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΌΠ΅ΡΡ ΡΠΎΠ±ΠΈΡΠ°ΡΡ ΠΈΠ· ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΏΠ°ΠΊΠ΅Ρ Π΄Π»Ρ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌ, ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΡΠΏ. ΠΡΠΈΠΌΠ΅ΡΡ:
hatchling,setuptools,meson,flit,poetry-coreΠΈ ΡΠ΄
ΠΡΠΎ Π·Π°Π³ΡΡΠ·ΠΊΡ Π² PyPI ΡΠ΅ΡΠ΅Π· twine.
Last updated