pe pachetele assy piton

De ce să construiască un pachet atât de important?

Pe lângă faptul că este doar un ton bun, există trei motive practice pentru livrarea de software sub formă de pachete:

  • ușurința de utilizare;
  • stabilitate (pentru gestionarea versiunilor);
  • răspândire.

În plus, controlul versiunii pachet permite utilizatorilor să „repare“ proiectele lor, folosind software-ul, datorită versiunii sale particulare. De exemplu, consolidarea versiunii Pinax 0.9a2.dev1017 va arata astfel:

Este obligatoriu pentru a lega proiectul Pinax versiunea 0.9a2.dev1017.

Controlul versiunii oferă o stabilitate mai bună atunci când se face modificări la software-ul în viitor, ca urmare a unor conflicte care pot apărea în interfețele. Ca rezultat, utilizatorii știu exact ce acestea sunt obtinerea, și este mai ușor de a ține evidența diferențelor în diferitele versiuni. În plus, dezvoltatorii de proiecte știu exact ce lucrează.

Astfel, ceea ce face mai ușor pentru utilizatorii procesului de integrare și instalare a software-ului, aplicarea efectivă de control versiune, asigurând metode sigure de fixare pentru versionare și publicarea pachetelor lor de a le face mai disponibile pe scară largă, vă crește șansele de succes a proiectului și de a primi o mai mare recunoaștere. distribuție mai largă a codului poate provoca o creștere a numărului de participanți, contribuind la dezvoltarea codului - .. Adică, pentru a atinge obiectivul pe care și-a stabilit un dezvoltator de software open source.

Anatomia fișier setup.py

Unul din setup.py script-ul destinat - este realizarea ansamblului pachetului de programe și descărcați-l la serverele de distribuție. Pe o varietate de arhive populare Python puteți găsi conținut diferit script setup.py. Acest articol descrie cele mai importante. A se vedea. Vezi Resurse pentru mai multe informații.

fișier setup.py pot fi folosite pentru diferite scopuri, dar de mai jos vom oferi o opțiune care vă permite să rulați următoarele comenzi:

Prima echipă, înregistrați. Acesta primește informații care oferă o setare () script funcția setup.py, și creează o intrare în PyPI pentru pachetul. Ea nu a încărcat, în schimb creează metadate despre proiectul dvs., astfel încât mai târziu puteți descărca și plasați acolo versiunea de software. Următoarele două comenzi sunt legate de: încărcare sdist creează o distribuție sursă, și apoi l în PyPI descarcă. Cu toate acestea, există mai multe condiții necesare, cum ar fi crearea unui fișier de configurare .pypirc personalizat și conținutul real al înregistrării în fișierul setup.py.

În primul rând, configurați fișierul .pypirc. Ar trebui să fie plasat în directorul de origine, care pot fi diferite în funcție de sistemul de operare. În sistemele de operare UNIX®, Linux®, și Mac OS Xzayti la acest director prin tastarea cd

/. Conținutul fișierului trebuie să includă date acreditările dvs. de PyPI, așa cum se arată în Listarea 1.

Listarea 1. fișier .pypirc tipică

Apoi, du-te la PyPI și înregistrați pentru a crea un cont (nu vă faceți griji - este gratuit). Introduceți același nume de utilizator și parolă ca în .pypirc PyPI catalog de fișiere, și asigurați-vă că fișierul este numit

Listarea 2. Template setup.py

În primul rând, trebuie amintit faptul că acest model implică prezența în proiectul dvs. două fișiere diferite. Primul este folosit pentru o descriere lunga (long_description). Se citește conținutul README.rst unui fișier localizat în același director ca setup.py, și transmite conținutul ca un șir de caractere în opțiunea long_description. Acest fișier umple pagina de destinație în PyPI, de aceea este recomandabil să-i dea o scurtă descriere a proiectului și să dea câteva exemple de utilizare a acestuia. Al doilea fișier - pachete de fișiere __init__.py. Noi nu prezentam aceasta descriere aici prolix, cu toate acestea, atunci când un șir de caractere care specifică variabila VERSION, importa pachetul, Python este nevoie de fișier __init__.py, astfel încât în ​​acest modul ar trebui să fie definit variabila numit __version__. Deși este suficient să se scrie linia:

Acum, să ia o privire la restul parametrilor originali.

  • PACHET - este un pachet de Python pentru proiectul dumneavoastră. Acest dosar de nivel superior, care conține modulul __init__.py, care ar trebui să fie în același director ca și fișierul setup.py, de exemplu:

Deci, în acest caz, pachetul va fi câini.

Este posibil să doriți să specificați termenii licenței și clasificările. Pentru mai multe informații despre crearea unui fișier setup.py, consultați documentația Python. (A se vedea resurse.).

versionare

Versionarea, în sine, este un subiect vast, dar trebuie menționat în cadrul unui ansamblu de pachet, deoarece este imposibil de a efectua reasamblarea corectă, fără control versiunea corectă. versiune de control - o formă de comunicare cu utilizatorii, și cu ajutorul ei, utilizatorii pot crea o serie de aplicații mai stabile și de încredere. Cu ajutorul de control al versiunilor vă spun utilizatorii despre modificările și precizează întinderea exactă a în cazul în care au fost făcute aceste modificări.

Standardul de control al versiunii Python Pachetul poate fi găsit în PEP-386 (Python privind propunerea de dezvoltare) (A se vedea resurse.). Se precizate reguli practice. Chiar dacă nu citesc, nu înțeleg sau nu sunt de acord cu PEP, în continuare să adere la norme rezonabile stabilite în ea, deoarece acestea sunt tot mai mult utilizate pentru a crea dezvoltatorii de aplicații Python.

În plus, este necesară nu numai pentru dezvoltarea de versiuni stabile, descărcate în PyPI, dar, de asemenea, util pentru dezvoltarea versiunilor cu sufixul devNN de control al versiunii. Ca o regulă, versiunile de dezvoltare de cazare in PyPI nu a încurajat, dar puteți să le pună la dispoziția publicului prin stabilirea propriei lor publice (sau private), serverul de distribuție. În acest caz, utilizatorii care doresc să folosească cea mai recentă versiune, poate indica acest lucru în requirements.txt pip-fișier. Mai jos sunt câteva exemple versionarea:

publicare

Personalizați propriul server de distribuție

instalați cea mai recentă versiune stabilă a PyPI. Dar, dacă adăugați cea mai recentă versiune de dezvoltare, această comandă va opri execuția și instalați cea mai recentă versiune, adică. E. Versiunea de dezvoltare. De regulă, este util întotdeauna să consolideze proiecte pentru o anumită versiune, dar nu toți utilizatorii. Prin urmare, trebuie să vă asigurați că, în cazul în care numărul de versiune nu este specificat, cea mai recentă versiune stabilă este returnată în mod implicit.

Serverul de distribuție este un director, care utilizează protocolul HTTP și oferă acces la fișierele de pe server. Acesta ar trebui să aibă următoarea structură de fișier:

În viitor, dacă se dorește, serverul poate fi închis prin configurarea de bază-AUTH pe Web-server. Puteți adăuga, de asemenea, unele alte mijloace pentru a încărca distribuții de cod sursă. Pentru a face acest lucru, trebuie să adăugați codul de control de descărcare pentru a analiza numele fișierului și calea pentru a crea catalog care îndeplinesc schema de mai sus. O astfel de structură este adoptată pentru proiectele Pinax folosind mai multe arhive.

PiP și virtualenv

instrument PIP poate fi instalat direct, dar vă recomandăm să-l utilizați în cadrul funcționalității virtualenv. (A se vedea resurse.). De asemenea, vă sfătuiesc să recurgă la virtualenv în toate cazurile, atunci când se ocupă cu Python, deoarece mediul Python, cu toate acestea, rămâne neaglomerat. La fel ca și mașina virtuală vă permite să ruleze mai multe sisteme de operare simultan, virtualenv vă permite să ruleze mai multe medii de Python simultan. Nu am instalat Python în sistemul său, și pur și simplu a crea un nou mediu virtual pentru fiecare proiect nou sau utilități de lucru pe.

Acum, acel set instrument virtualenv, și puteți juca un pic:

concluzie

Pentru a rezuma, aș dori să subliniez că să-și petreacă un pic de timp pentru a studia ansamblul pachetului va fi util în viitor. Datorită ușurinței de instalare și stabilitate datorită versiune de control, și mai mulți utilizatori vor folosi codul. Utilizarea setup.py șablon, cu condiția ca în resurse și descrise în acest articol, puteți adăuga rapid și ușor un ansamblu pachet în proiectul dumneavoastră. Asigurarea comunicării cu utilizatorii lor, prin controlul sursei bine stabilit le va permite să urmărească modificările în fiecare versiune. Și, în sfârșit, ca PiP și virtualenv promova codul de împrumut, creșterea încrederii în pachete publicate - fie pe cont propriu sau PyPI serverele lor de distribuție. Deci, asigurați-vă că pentru a publica un proiect pe care doriți să împărtășiți cu restul lumii.

Sper că materialul prezentat în acest articol este de ajuns pentru a vă ajuta să începeți. Secțiunea Resurse oferă legături cu documentația care vă pot ajuta să înțelegeți mai bine problemele menționate. Dacă aveți întrebări, mergeți la FreeNode și căutați pentru mine în secțiuni, cum ar fi chat-ul și #pinax Django-sociale (alias „paltman“) # sau Twitter (@paltman).

  • Articolul original: Un ghid pentru ambalare Python.
  • Poti sa te uiti la PyPI.
  • Cu setuptools 0.6c11. Aflați cum să descărcați cu ușurință, să construiască, să instalați, să actualizeze și să șteargă pachetele Python.
  • Mai multe informații despre modificarea versiunii de distribuție este dată în PEP 0386.
  • Pentru mai multe informații despre distribuția modulelor Python.

Obțineți produse și tehnologii

  • Aflați mai multe despre PiP și încărcați-l.
  • Aflați mai multe despre virtualenv și încărcați-l.
  • Ia-șablon fișier setup.py. menționate în prezentul articol.
  • Rata Pinax - aplicatie platforma de dezvoltare software open source creat de Django.