Jak tworzyć pakiety Pythona [2023]

Według badania Stackoverflow z 2023 r. Python jest trzecim najczęściej używanym językiem programowania. Ten ogólny cel może być wykorzystywany w nauce o danych, tworzeniu stron internetowych, uczeniu maszynowym, inżynierii oprogramowania i obliczeniach naukowych.

Pakiet Pythona jest jednym z terminów, z którymi spotkasz się podczas nauki i interakcji z językiem Python. Czym są pakiety Pythona i jak można je tworzyć?

Ten artykuł będzie;

  • Zdefiniuj pakiety Pythona
  • Wyjaśnij znaczenie pakietów Pythona w programowaniu
  • Zademonstruj, jak tworzyć pakiety w języku Python
  • Zademonstruj, jak używać i testować pakiety Pythona
  • Zademonstruj, jak przesyłać pakiety Pythona

Czym są pakiety Pythona?

Pakiety Pythona są podstawowymi elementami składowymi programowania. Bez pakietów programiści mogliby pisać wszystko od zera, przez co programowanie byłoby długim i stresującym procesem. Pakiety Pythona to kolekcje modułów Pythona, w zasadzie zbiór kodu wielokrotnego użytku.

Moduł w Pythonie to plik zawierający kod Pythona, który można zaimportować do innych programów Pythona. Aby utworzyć pakiet Pythona, musisz przechowywać kod w katalogu zawierającym plik __init__.py.

Pakiet Pythona może zawierać inne pakiety (zagnieżdżanie), a tysiące pakietów Pythona są dostępne online. Niektóre z tych pakietów są oficjalne, a inne nie. Większość pakietów Pythona jest dostępna na https://pypi.org/.

Django, platforma internetowa Pythona, jest przykładem pakietu, którego można użyć do tworzenia aplikacji internetowych. Scikit-learn, PyTorch i TensorFlow to popularne pakiety w dziedzinie uczenia maszynowego.

Znaczenie pakietów Pythona

Dlaczego nie stworzyć wszystkiego od podstaw jako programista? Czy potrzebujemy pakietów Pythona? Oto niektóre z powodów, dla których pakiety Pythona są ważne;

  • Oszczędność czasu: pakiet Python zapewnia dostęp do gotowego kodu, który rozwiązuje typowe problemy. Za każdym razem, gdy chcesz napisać skrypt w Pythonie, możesz użyć pakietów Pythona zamiast wymyślać koło na nowo.
  • Ułatwia dystrybucję kodu: Współpraca jest bardzo powszechna w programowaniu. Możesz utworzyć pakiet Pythona, który członkowie Twojego zespołu zawsze będą mogli zaimportować podczas współpracy nad projektem.
  • Możliwość ponownego wykorzystania kodu: jeśli w programach w Pythonie zawsze musisz napisać blok kodu, możesz go spakować i zaimportować do swoich aplikacji.
  • Organizacja kodu: pakiety Pythona umożliwiają organizowanie kodu w logiczne moduły. Takie podejście ułatwia czytanie i utrzymywanie kodu Pythona.

Jak stworzyć swój pierwszy pakiet Pythona

Wspomnieliśmy już, że Python jest językiem ogólnego przeznaczenia. Jako programista możesz tworzyć różne typy pakietów.

Na przykład możesz mieć pakiet, który automatyzuje niektóre zadania, pakiet, który pomaga w budżetowaniu, a nawet nauczyć się nowego języka. Jednak zanim zaczniesz tworzyć swój pierwszy pakiet, potrzebujesz następujących elementów;

wymagania wstępne;

  • Python jest zainstalowany na komputerze lokalnym. Jeśli używasz systemu Linux, Python jest domyślnie instalowany z systemem operacyjnym. Możesz użyć tego polecenia python –version lub python3 –version, aby sprawdzić, czy Python jest zainstalowany. Jeśli Python jest zainstalowany, zobaczysz coś takiego na swoim terminalu;

Jeśli nie masz Pythona, możesz go pobrać ze strony https://www.python.org/downloads/.

  • Zrozumienie Pythona. Musisz zrozumieć, jak pisać klasy, moduły i funkcje w Pythonie.
  • Menedżer pakietów. Do tej demonstracji użyjemy pip. Możesz sprawdzić, czy pip jest zainstalowany za pomocą tego polecenia;
pip --version

Jeśli jest zainstalowany, zobaczysz coś podobnego na swoim terminalu.

Wymagania mogą się różnić w zależności od rodzaju pakietu, który chcesz zainstalować.

Stworzę prosty pakiet Pythona do tej demonstracji, który sprawdza, czy liczba jest liczbą pierwszą. Możesz śledzić;

  • Krok pierwszy: Utwórz folder projektu. Nazwę mojego jako primechecker.
  • Krok drugi: Utwórz kolejny folder w folderze primechecker i nazwij go prime.
  • Krok trzeci: Utwórz plik w katalogu utworzonym w kroku drugim i nadaj mu nazwę prime.py. Możesz połączyć te trzy kroki za pomocą tego polecenia;
 mkdir primechecker && cd primechecker && mkdir prime && cd prime && touch prime.py
  • Krok trzeci: Otwórz swój projekt w edytorze kodu. Następnie możesz dodać ten kod do pliku prime.py, który sprawdza, czy liczba jest liczbą pierwszą;
def is_prime(number):

    if number < 2:

        return False

    for i in range(2, int(number ** 0.5) + 1):

        if number % i == 0:

            return False

    return True
  • Krok czwarty: W głównym folderze utwórz nowy plik i nadaj mu nazwę __init__.py. Ten plik sprawia, że ​​Python rozpoznaje utworzony przez nas folder projektu jako pakiet.

Możesz użyć tego polecenia;

touch prime/__init__.py
  • Krok piąty: przetestuj swój kod. Możemy utworzyć skrypt w pliku test.py w folderze głównym, który sprawdza, czy liczba jest liczbą pierwszą. Wróć do głównego folderu i użyj tego polecenia;
touch test.py

Następnie możesz dodać ten kod do tego pliku;

from prime.prime import is_prime

number = int(input("Enter a number: "))

result = is_prime(number)

print(f"{number} is prime: {result}")

Uruchom to polecenie, aby sprawdzić swój kod;

python3 test.py

Możesz teraz wprowadzić liczbę i sprawdzić, czy jest liczbą pierwszą.

Na przykład sprawdziłem, czy 5 i 1 są liczbami pierwszymi i otrzymałem następujące;

Jak przesłać pakiet online

Możesz hostować utworzony pakiet na PyPI (Python Package Index). To centralne repozytorium zawierające tysiące pakietów Pythona. Przejdź do https://pypi.org/ i utwórz konto, jeśli go nie masz.

Możesz teraz wykonać te kroki, aby przesłać swój pakiet online;

  • Krok 1: Utwórz nowy plik w folderze głównym (mój to primechecker) i nazwij go setup.py.
  • Krok 2: Zmień zawartość pliku setup.py tak, aby zawierał informacje o pakiecie, który chcesz przesłać.

Kod tego pliku powinien wyglądać następująco;

from setuptools import setup, find_packages

setup(

    name="primechecker",

    version='1.0.0',

    author="Your Name",

    author_email="[email protected]",

    description='A package for checking prime numbers',

    packages=find_packages(),

)

Zmień imię i nazwisko, autora, e-mail_autora i opis, aby pasowały do ​​szczegółów Twojej paczki.

  • Krok 3: Zbuduj swój pakiet. Uruchom to polecenie, będąc nadal w folderze głównym;
python3 setup.py sdist bdist_wheel

Jeśli sprawdzisz folder projektu, zobaczysz dwa nowe foldery (build i dist) w folderze głównym.

  • Krok 4: Zainstaluj sznurek. Jest to pakiet potrzebny do przesyłania pakietów do PyPI.

Użyj tego polecenia;

pip install twine
  • Krok 5: Prześlij pakiet

Użyj tego polecenia;

twine upload dist/*

Zostaniesz poproszony o podanie nazwy użytkownika i hasła. Jeśli nazwa Twojej paczki nie jest jeszcze zajęta, zostanie ona opublikowana online, a Ty otrzymasz link na swoim terminalu.

Właśnie opublikowany pakiet będzie dostępny publicznie. Każdy, kto chce skorzystać z pakietu, może go pobrać za pomocą pip.

Na przykład pakiet, który opublikowałem, można pobrać jako;

pip install primechecker==1.0.0.

Najlepsze praktyki tworzenia pakietów Pythona

  • Zwróć uwagę na standardy dotyczące opakowań w języku Python: Nawet jeśli masz swobodę decydowania o rodzaju tworzonego pakietu, zawsze pamiętaj, że pakiety w języku Python mają standardy, których należy przestrzegać. Sprawdź te standardy na https://packaging.python.org/ zanim zaczniesz pisać swój kod.
  • Przetestuj swój pakiet przed wdrożeniem: Błędy są częstym zjawiskiem w programowaniu. Twórz skrypty do generowania testów automatycznych, szczególnie przy budowaniu dużych pakietów. Takie podejście gwarantuje, że przesyłasz pakiety wolne od błędów.
  • Wersjonowanie: Właściwy pakiet powinien być zgodny z wersjonowaniem semantycznym. Pakiet, który stworzyłem w naszej demonstracji miał te numery 1.0.0. Pierwszy bit (1) to wersja główna, drugi bit (0) to wersja drugorzędna, a ostatni bit to Patch.
  • Określ wszystkie zależności: W zależności od potrzeb możesz mieć różne zależności lub inne pakiety w swoim pakiecie. Powinieneś wspomnieć o wszystkich zależnościach w opisie swojego pakietu podczas przesyłania. Możesz użyć narzędzi, takich jak setuptools lub poezja, aby dodać te zależności i zarządzać nimi.
  • Używaj kontroli wersji: Programowanie jest procesem ciągłym. Możesz aktualizować lub ulepszać swój pakiet, aby dodawać nowe funkcje lub zwiększać jego wydajność. Możesz także zaprosić współpracowników. Możesz przesłać swój kod pakietu na platformy takie jak GitHub lub GitLab, aby udostępnić swój kod i umożliwić współpracę.
  • Udokumentuj swój kod: Stworzony przez nas pakiet służył do celów demonstracyjnych. Jeśli jednak zamierzasz udostępnić taki pakiet publicznie lub członkom zespołu, musisz wygenerować dokumentację, która poprowadzi użytkowników. Do generowania dokumentów możesz użyć narzędzi takich jak Pydoc lub Sphinx.

Gdzie jeszcze mogę przesłać pakiety Pythona?

Mimo że Python Package Index (PyPI) jest oficjalnym repozytorium pakietów Pythona, nie oznacza to, że nie możesz go używać. Niektóre czynniki, które należy wziąć pod uwagę przy określaniu, gdzie przesłać pakiet Pythona, to rozmiar plików, charakter pakietu, wymagany poziom wsparcia i grupa docelowa.

To są inne obszary, w których możesz przesyłać swoje pakiety Pythona;

  • GitHub: GitHub to największa platforma hostingu kodu. Możesz utworzyć repozytorium i dodać swój pakiet Pythona jako plik ZIP do redystrybucji.
  • Conda: Conda to menedżer pakietów, którego możesz używać do swoich pakietów Pythona. Ta platforma jest znana wśród analityków danych. Utwórz konto na Conda i zacznij przesyłać swoje pakiety do redystrybucji.
  • PyPI Mirrors: Istnieje wiele PyPI Mirrors, które odzwierciedlają zawartość platformy PyPI. Wybierz taki, który odpowiada Twoim potrzebom, aby hostować Twoją paczkę.

Wniosek

Masz teraz kroki tworzenia pakietów Pythona i publikowania ich online. Nasz przykład był po prostu prosty, ale możesz bawić się i tworzyć złożone pakiety. Jednak zawsze twórz odpowiednią strukturę folderów podczas tworzenia pakietów Pythona.