Мазмунга өтүү

Сабактын башталышы

Пакеттөө жана жарыялоо

Модулдер папкасын PyPIде орнотулуучу, версияланган, бөлүшүүгө боло турган пакетке айландырыңыз

Негизги идея: Пакет - бул сиздин кодуңуз плюс Pythonдун куралдарына аны кантип курууну, орнотууну жана сүрөттөөнү айтып берген кичине манифест. Заманбап Python бул манифестти бир файлда - pyproject.toml ичинде жарыялайт. Андан куруу бэкенди эки артефакт чыгарат: булак дистрибутиви (sdist) жана курулган wheel. Сиз аларды twine менен Python Package Index (PyPI) кызматына жүктөйсүз, ошондон кийин каалаган адам pip install сиздин-пакет буйругун аткара алат. Бул жерде эч кандай сыйкыр жок - жөн гана метадайындар, куруу кадамы жана жүктөө.
Аягында сиз буларды жасай аласыз:
  • долбоорду src-жайгаштыруу менен жайгаштыруу жана эмне үчүн ал каталардын бүтүндөй классын алдын алаарын түшүнүү,
  • толук pyproject.toml жазуу: [build-system], [project] метадайындары, көз карандылыктар, милдеттүү эмес extras жана консолдук кирүү чекиттери,
  • иштеп чыгуу үчүн обочолонгон виртуалдык чөйрөнү түзүү жана колдонуу,
  • python -m build менен sdist жана wheel куруу жана айырманы түшүндүрүү,
  • семантикалык версиялоо боюнча версияны тандоо жана чындыктын бирдиктүү булагын сактоо,
  • адегенде TestPyPIге, андан кийин API-токен жана twine менен PyPIге жарыялоо.

1. Пакеттөө кайсы маселени чечет

Сиз кодду модулдерге жана пакеттерге (__init__.py бар папкаларга) бөлүүнү жана аларды импорттоону билесиз. Сиздин машинада бул иштейт, анткени учурдагы каталог sys.path ичинде турат. Бирок код башка бирөөгө керек болгон учурда, формалдуу эмес бөлүшүү иштебей калат: кайсы файлдар керек, кайсы үчүнчү тараптын китепканаларын алдын ала орнотуу керек, Pythondun кайсы версиясы талап кылынат жана import yourlib чоочун машинада кантип чечилет?

Пакеттөө мунун баарына декларативдик түрдө жооп берет. Сиз долбоорду бир жолу сүрөттөйсүз, куруу куралы стандарттуу артефакт жаратат, ал эми pip аны каалаган чөйрөгө орнотууну өз мойнуна алат - файлдарды site-packages ичине көчүрөт жана жарыяланган көз карандылыктарды тартат. Окурман эч нерсени божомолдобойт; метадайындар аброюлуу.

Тарыхый жактан бул метадайындар аткарылуучу setup.py скриптинде жашаган. Долбоордун атын жөн гана окуу үчүн ыктыярдуу кодду иштетүү морт жана коопсуз эмес болчу, ошондуктан экосистема декларативдик стандартка өттү. PEP 518 pyproject.toml киргизди, PEP 621 болсо [project] таблицасын стандартташтырды. Бүгүн pyproject.toml - керектүү жалгыз файл; setup.py жана setup.cfg эскирген.

Бул сабакты YourAIZone платформасында улантыңыз

Толук сабакта — толук түшүндүрмө, чыгарылган мисалдар, көп кездешкен каталар, заматта текшерилүүчү тесттер жана ЖИ-репетитор. Конок катары дароо баштаңыз же прогрессти сактоо үчүн аккаунт түзүңүз.

Толук сабакта

  • Толук түшүндүрмө
  • Чыгарылган мисалдар
  • Көп кездешкен каталар жана алардан кантип качуу керек
  • Тест суроолору: 15
  • Тема боюнча суроолорго жооп берген ЖИ-репетитор
  • Окуучу, ата-эне жана мугалим үчүн прогрессти көзөмөлдөө