върху опаковките Аси питон

Защо се изгради пакет е толкова важно?

Освен факта, че това е просто един добър тон, има три практически причини за доставка на софтуер под формата на пакети:

  • лекота на употреба;
  • стабилност (за управление версия);
  • разпространение.

В допълнение, контрол версия на пакета позволява на потребителите да "поправят" проектите си, с помощта на софтуер, благодарение на своята конкретна версия. Например, консолидирането на версията Pinax 0.9a2.dev1017 ще изглежда така:

Задължително е да се свърже проект Pinax версия 0.9a2.dev1017.

контрол на версиите осигурява по-добра стабилност при извършване на промени в софтуера и в бъдеще, в резултат на които могат да възникнат конфликти в интерфейсите. В резултат на това потребителите си знаят точно какво получават, и е по-лесно да следите на разликите в различните версии. Освен това, разработчиците на проекти знаят точно какво те работят.

По този начин, което го прави по-лесно за потребителите на процеса на интеграция и изграждане на вашия софтуер, прилагане на ефективен контрол версия, осигуряване на надеждни методи за определяне на версии, и публикуване на техните опаковки да ги направи по-широко достъпен, можете да увеличи шансовете за успех на проекта и да получат по-голямо признание. По-широко разпространение на кода си, може да доведе до увеличаване на броя на участниците, които допринасят за развитието на кодекса - .. Т.е., за да се постигне целта, която си е поставила като разработчик на софтуер за отворен код.

setup.py файл Анатомия

Един от планираното скрипт setup.py - е изпълнението на опаковъчния комплект вашия софтуер и да го изтеглите на разпределителните сървъри. На най-различни популярни хранилища Python можете да намерите скрипт setup.py различно съдържание. Тази статия описва основните от тях. Вижте. Вижте ресурси за повече информация.

setup.py файл може да се използва за различни цели, но по-долу Ви предоставяме възможност, която ви позволява да стартирате следните команди:

Първият отбор, се регистрирате. Той получава информация, която осигурява настройка () функция скрипт setup.py и създава запис в PyPI за вашия пакет. Тя не се зареди, вместо това създава метаданни за вашия проект, така че по-късно може да се разтоварят и поставете там версията на софтуера. Следващите две команди са свързани: sdist качване създава разпределение източник и след това го разтоварва в PyPI. Въпреки това, има няколко необходими условия, като например създаване на файл .pypirc обичай конфигурация и действителното съдържание на записа в setup.py файла.

На първо място, изберете .pypirc файл. Тя трябва да бъде поставен в началната директория, която може да бъде различен в зависимост от вашата операционна система. В операционните системи UNIX®, Linux® и Mac OS Xzayti до тази директория като въведете CD

/. Съдържанието на файла трябва да включват данните си пълномощията PyPI, както е показано на Обява 1.

Обява 1. Типично .pypirc файл

След това отидете на PyPI и да се регистрирате за да създадете акаунт (не се притеснявайте - това е безплатно). Въведете същата потребителско име и парола, както в .pypirc PyPI каталог файл, и се уверете, че файлът се нарича

Обява 2. Шаблон setup.py

На първо място, тя трябва да се забравя, че този модел предполага наличието в проекта си две различни файлове. Първият се използва за дълго описание (long_description). Той гласи README.rst съдържанието на даден файл се намира в същата директория, в setup.py и предава съдържанието като низ в опция long_description. Този файл изпълва целевата страница в PyPI, така че е препоръчително да му се даде кратко описание на проекта и даде няколко примера за използването му. Вторият файл - __init__.py файлови пакети. Ние не го представим тук многословно описание, обаче, когато низ, който определя променливата ВЕРСИЯ, внася своя пакет, Python се изисква __init__.py файл, така че в този модул трябва да се дефинира променлива, наречена __version__. Макар да е достатъчна, за да напише ред:

Сега да разгледаме останалата част от първоначалните параметри.

  • ПАКЕТ - е пакет Python за вашия проект. Тази папка най-високо ниво, която съдържа модул __init__.py, която трябва да бъде в същата директория, setup.py файл, например:

Така че, в този случай, вашият пакет ще бъде кучета.

Вие може да искате да се уточни лицензионните условия и класификации. За повече информация относно създаването на setup.py файл, вижте документацията на Python. (Виж ресурси.).

версии

Версиите по себе си е огромна тема, но трябва да се отбележи в контекста на опаковъчния комплект, тъй като е невъзможно да се извърши правилното сглобяване без ефективен контрол версия. контрол на версиите - форма на комуникация с потребителите си, и с негова помощ потребителите могат да се създаде по-стабилни и надеждни приложения. С помощта на контрол на версиите ви кажа потребителите си за промените, и да определи точния обхват на която са направени тези промени.

Стандартът за контрол на версиите Python пакет може да се намери в PEP-386 (Python по предложението за развитие) (Виж ресурси.). Той формулирани практически правила. Дори и да не чета, вие не разбирате или не са съгласни с ПИП, все още се придържат към разумни правила, предвидени в него, тъй като те са по-често се използва за създаване на разработчиците на приложения на Python.

В допълнение, контрол на версиите е необходимо не само за развитието на стабилни версии, изтеглен в PyPI, но и полезно за развитието на версии с наставка devNN. Като правило, версии за развитие настаняване в PyPI не насърчават, но можете да ги направят достъпни за обществеността, като зададете своя собствена обществена (или частни) сървъра за разпространяване. В този случай, потребителите, които желаят да използват най-новата версия, могат да посочат това в requirements.txt семки за файл. Следват няколко примера на версии:

публикуване

Персонализиране на вашия собствен сървър разпределение

инсталирайте последната стабилна версия на PyPI. Но ако добавите най-новата версия развитие, тази команда ще спре изпълнението и инсталирате последната версия, че е така. Д. Версията на развитие. Като правило, това е полезно винаги да се консолидират проекти за определена версия, но не го правят всички потребители. Ето защо, трябва да сте сигурни, че ако номерът на версията не е уточнено, най-новата стабилна версия се връща по подразбиране.

Сървърът за разпределение е директория, която използва протокола HTTP и осигурява достъп до файловете на сървъра. Тя трябва да има следната структура на файл:

В бъдеще, ако е необходимо, сървърът може да бъде затворен, като конфигурирате Основния-AUTH на вашия уеб-сървър. Можете да добавите и някои други средства за качване код дистрибуции код. За да направите това, трябва да добавите контрол разтоварване кода за да се направи разбор на името на файла и пътя за създаване на каталог, който да отговаря на по-горе схема. Такава структура се приема за проекти Pinax използващи множество хранилища.

пип и virtualenv

Публикувано инструмент може да се инсталира директно, но аз препоръчвам да го използвате в рамките virtualenv функционалност. (Виж ресурси.). Аз също ви съветваме да се прибегне до virtualenv във всички случаи, когато се занимават с Python, Python, защото околната среда, обаче, остава подредена. Точно както виртуална машина ви позволява да стартирате няколко операционни системи едновременно, virtualenv ви позволява да стартирате няколко Python среда едновременно. Не инсталирайте Python в своята система, а просто да създадете нова виртуална среда за всеки нов проект или комунални услуги работим.

Сега, след като набор virtualenv инструмент, и можете да играете малко:

заключение

За да обобщим, бих искал да подчертая, че за да отделите малко време, за да проучи събрание пакет ще бъде от полза в бъдеще. Благодарение на лекотата на инсталиране и стабилност благодарение на контрол на версиите и повече потребители ще използват кода си. Използване на шаблон setup.py, предоставена в ресурси и е описано в тази статия, можете бързо и лесно да добавите монтаж пакет в проекта си. Осигуряване на комуникация с потребителите си чрез добре организиран контрол на източник ще им позволи да следите промените във всяка версия. И накрая, като издатината и virtualenv насърчаване код заеми, увеличаване на доверието в публикуваните на пакети - дали на собствените си или PyPI разпределителни сървъри. Така че не забравяйте да публикува проект, който искате да споделите с останалата част от света.

Надявам се, че представената в тази статия материал е достатъчно, за да ви помогне да започнете. Секцията ресурси предоставя връзки към документация, която може да ви помогне да разберете по-добре, споменати въпроси. Ако имате някакви въпроси, отидете на Freenode и за мен изглежда в такива участъци като чат и #pinax # Django-социални (псевдоним "paltman") или Twitter (@paltman).

  • Оригиналната статия: Ръководство за Python опаковки.
  • Посетете PyPI.
  • С setuptools 0.6c11. Научете как да изтеглите лесно, изграждане, инсталиране, обновяване и изтриване на Python пакети.
  • Повече информация за промяна на версията на дистрибуцията е даден в ПИП 0386.
  • За повече информация относно разпределението на Python модули.

Вземете продукти и технологии

  • Научете повече за ПИП и да го зареди.
  • Научете повече за virtualenv и да го зареди.
  • Вземи setup.py файл шаблон. посочени в тази статия.
  • Оцени Pinax - заявление платформа за разработка на софтуер с отворен код, създаден от Джанго.