Hvordan lage Python-pakker [2023]

Python er det tredje mest brukte programmeringsspråket basert på en Stackoverflow-undersøkelse fra 2023. Dette generelle formålet kan brukes innen datavitenskap, nettutvikling, maskinlæring, programvareteknikk og vitenskapelig databehandling.

En Python-pakke er et av begrepene du vil møte når du lærer og samhandler med Python-språket. Hva er Python-pakker, og hvordan kan du lage noen?

Denne artikkelen vil;

  • Definer Python-pakker
  • Forklar viktigheten av Python-pakker i programmering
  • Demonstrere hvordan du lager Python-pakker
  • Demonstrere hvordan du bruker og tester Python-pakker
  • Demonstrere hvordan du laster opp Python-pakker

Hva er Python-pakker?

Python-pakker er viktige byggesteiner i programmering. Uten pakker kan utviklere skrive alt fra bunnen av, noe som gjør programmering til en lang og stressende prosess. Python-pakker er samlinger av Python-moduler, i utgangspunktet en samling gjenbrukbar kode.

En modul i Python er en fil som inneholder Python-kode som kan importeres til andre Python-programmer. For å lage en Python-pakke må du lagre koden i en katalog som inneholder en __init__.py-fil.

En Python-pakke kan inneholde andre pakker (nesting), og tusenvis av Python-pakker er tilgjengelig online. Noen av disse pakkene er offisielle, mens andre ikke er det. De fleste av Python-pakkene er tilgjengelige på https://pypi.org/.

Django, et Python-nettrammeverk, er et eksempel på en pakke du kan bruke til å bygge nettapplikasjoner. Scikit-learn, PyTorch og TensorFlow er populære pakker innen maskinlæringsfeltet.

Viktigheten av Python-pakker

Hvorfor ikke lage alt fra bunnen av som programmerer? Trenger vi Python-pakker? Dette er noen av grunnene til at Python-pakker er viktige;

  • Sparer tid: Python-pakken gir deg tilgang til forhåndsskrevet kode som løser vanlige problemer. Du kan bruke Python-pakker i stedet for å finne opp hjulet på nytt når du vil skrive et Python-skript.
  • Gjør det enkelt å distribuere kode: Samarbeid er svært vanlig innen programmering. Du kan lage en Python-pakke som teammedlemmene dine alltid kan importere når de samarbeider om et prosjekt.
  • Gjenbrukbarhet av kode: Hvis det er en kodeblokk du alltid må skrive i Python-programmene dine, kan du pakke den og importere i applikasjonene dine.
  • Kodeorganisering: Python-pakker lar deg organisere koden din i logiske moduler. En slik tilnærming gjør det enkelt å lese og vedlikeholde Python-koden.
  Hvordan spille Minecraft Multiplayer

Hvordan lage din første Python-pakke

Vi har allerede uttalt at Python er et generellt bruksspråk. Du kan lage forskjellige typer pakker som programmerer.

Du kan for eksempel ha en pakke som automatiserer visse oppgaver, en pakke som hjelper deg med budsjett, eller til og med lære et nytt språk. Men før du begynner å lage din første pakke, trenger du følgende;

Forutsetninger;

  • Python er installert på din lokale maskin. Hvis du bruker Linux, er Python installert med operativsystemet ditt som standard. Du kan bruke denne kommandoen python –versjon eller python3 –versjon for å sjekke om Python er installert. Hvis Python er installert, vil du se noe slikt på terminalen din;

Hvis du ikke har Python, kan du laste den ned på https://www.python.org/downloads/.

  • Forståelse av Python. Du må forstå hvordan du skriver Python-klasser, moduler og funksjoner.
  • En pakkebehandler. Vi vil bruke pip til denne demonstrasjonen. Du kan sjekke om pip er installert ved å bruke denne kommandoen;
pip --version

Hvis den er installert, vil du se noe lignende på terminalen din.

Kravene kan variere avhengig av typen av pakken du vil installere.

Jeg vil lage en enkel Python-pakke for denne demonstrasjonen som sjekker om et tall er primtall. Du kan følge med;

  • Trinn én: Opprett en prosjektmappe. Jeg vil navngi min som primechecker.
  • Trinn to: Lag en annen mappe inne i primechecker-mappen og gi den navnet prime.
  • Trinn tre: Lag en fil i katalogen du opprettet i trinn to, og gi den navnet prime.py. Du kan kombinere de tre trinnene ved å bruke denne kommandoen;
 mkdir primechecker && cd primechecker && mkdir prime && cd prime && touch prime.py
  • Trinn tre: Åpne prosjektet i koderedigeringsprogrammet. Du kan deretter legge til denne koden i prime.py-filen som sjekker om et tall er et primtall;
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
  • Trinn fire: Inne i prime-mappen, lag en ny fil og navngi den __init__.py. Denne filen får Python til å gjenkjenne prosjektmappen vi opprettet som en pakke.

Du kan bruke denne kommandoen;

touch prime/__init__.py
  • Trinn fem: Test koden din. Vi kan lage et skript i en test.py-fil inne i rotmappen som sjekker om et tall er primtall. Naviger tilbake til hovedmappen og bruk denne kommandoen;
touch test.py

Du kan deretter legge til denne koden i denne filen;

from prime.prime import is_prime

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

result = is_prime(number)

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

Kjør denne kommandoen for å sjekke koden din;

python3 test.py

Du kan nå skrive inn et tall og sjekke om det er primtall.

  Fix C Drive fortsetter å fylles opp uten grunn

For eksempel har jeg sjekket om 5 og 1 er primtall og fikk følgende;

Hvordan laste opp pakken online

Du kan være vert for pakken du har opprettet på PyPI (Python Package Index). Dette er et sentralt depot som bærer tusenvis av Python-pakker. Gå til https://pypi.org/ og opprett en konto hvis du ikke har en.

Du kan følge disse trinnene nå for å laste opp pakken din på nettet;

  • Trinn 1: Lag en ny fil i rotmappen (min er primechecker) og gi den navnet setup.py.
  • Trinn 2: Endre innholdet i setup.py-filen til å inneholde informasjon om pakken du vil laste opp.

Koden for denne filen skal være som følger;

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(),

)

Endre navn, forfatter, forfatter_e-post og beskrivelse for å passe pakkedetaljene dine.

  • Trinn 3: Bygg pakken din. Kjør denne kommandoen mens du fortsatt er inne i rotmappen;
python3 setup.py sdist bdist_wheel

Hvis du sjekker prosjektmappen din, kan du se to nye mapper (build og dist) i rotmappen.

  • Trinn 4: Installer hyssing. Dette er pakken som trengs for å laste opp pakker til PyPI.

Bruk denne kommandoen;

pip install twine
  • Trinn 5: Last opp pakken

Bruk denne kommandoen;

twine upload dist/*

Du vil bli bedt om å skrive inn brukernavn og passord. Hvis navnet på pakken din ikke allerede er tatt, vil pakken bli publisert på nettet, og du vil få en lenke på terminalen din.

Pakken du nettopp har publisert vil være tilgjengelig for allmennheten. Alle som ønsker å bruke pakken kan laste den ned ved hjelp av pip.

For eksempel kan pakken jeg har publisert lastes ned som;

pip install primechecker==1.0.0.

Beste praksis for å lage Python-pakker

  • Vær oppmerksom på Python Packaging Standards: Selv om du står fritt til å bestemme hvilken type pakke du vil lage, husk alltid at Python-pakker har standarder du bør følge. Sjekk disse standardene på https://packaging.python.org/ før du begynner å skrive koden.
  • Test pakken din før du distribuerer: Bugs er vanlige i programmering. Lag skript for å generere automatiserte tester, spesielt når du bygger store pakker. En slik tilnærming sikrer at du laster opp pakker som er feilfrie.
  • Versjon: En riktig pakke bør følge semantisk versjonering. Pakken som jeg opprettet i demonstrasjonen vår hadde disse tallene 1.0.0. Den første biten (1) er Major-versjonen, den andre biten (0) er Minor-versjonen, og den siste biten er Patch.
  • Spesifiser alle avhengigheter: Avhengig av dine behov, kan du ha ulike avhengigheter eller andre pakker inne i pakken. Du bør nevne alle avhengighetene i beskrivelsen av pakken din under opplasting. Du kan bruke verktøy som oppsettverktøy eller poesi for å legge til og administrere disse avhengighetene.
  • Bruk versjonskontroll: Programmering er en kontinuerlig prosess. Du kan fortsette å oppgradere eller forbedre pakken din for å legge til nye funksjoner eller gjøre den mer effektiv. Det kan også være lurt å invitere bidragsytere. Du kan laste opp pakkekoden din til plattformer som GitHub eller GitLab for å gjøre koden din tilgjengelig og tillate samarbeid.
  • Dokumenter koden din: Pakken vi laget var for demonstrasjonsformål. Men hvis du har tenkt å dele en slik pakke med publikum eller teammedlemmer, må du generere dokumentasjon som veileder brukerne. Du kan bruke verktøy som Pydoc eller Sphinx for å generere dokumentene dine.
  Hvordan finne og erstatte spesialtegn i Microsoft Word

Hvor ellers kan jeg laste opp Python-pakker?

Selv om Python Package Index (PyPI) er det offisielle depotet for Python-pakker, betyr det ikke at du er begrenset fra å bruke det. Noen faktorer du bør vurdere når du bestemmer hvor du skal laste opp Python-pakken din, er filenes størrelse, pakkens natur, støttenivået som trengs og målgruppen din.

Dette er andre områder hvor du kan laste opp Python-pakkene dine;

  • GitHub: GitHub er den største vertsplattformen for kode. Du kan opprette et depot og legge til Python-pakken din som en zip-fil for redistribuering.
  • Conda: Conda er en pakkebehandling du kan bruke for Python-pakkene dine. Denne plattformen er kjent blant dataforskere. Opprett en konto på Conda og begynn å laste opp pakkene dine for videredistribusjon.
  • PyPI-speil: Det er mange PyPI-speil som speiler innholdet på PyPI-plattformen. Velg en som passer dine behov for å være vert for pakken din.

Konklusjon

Du har nå trinnene for å lage Python-pakker og publisere dem på nettet. Eksemplet vårt var bare grunnleggende, men du kan leke og lage komplekse pakker. Lag imidlertid alltid riktig mappestruktur når du bygger Python-pakker.