KEPLIN Docs

Avhengigheter og filer

Organisere skriptet i flere filer, styre den private mappen til skriptet, installere pip-pakker og gjenbruke kode fra andre skript.

Et skript er sjelden bare main.py. Denne siden dekker alt som lever rundt det: filene til skriptet (Python-moduler, konfigurasjon, genererte data), pip-pakkene som er installert i miljøet til skriptet, og skriptene som brukes som avhengighet — kode fra et annet skript, i denne appen eller i en annen, importert av ditt.

Alt dette styres i sidetreet: utvid noden til skriptet (pilen til venstre for navnet), så dukker tre oppføringer opp — Filer, Avhengigheter og Tidsplaner. De to første er temaet for denne siden.

Noden til skriptet utvidet i treet — Filer, Avhengigheter og Tidsplaner.
Noden til skriptet utvidet i treet — Filer, Avhengigheter og Tidsplaner.

Mappen til skriptet

Hvert skript har en privat mappe på serveren. Det er der main.py bor, modulene du lager, filene du laster opp og alt skriptet skriver til disk under kjøringene. To viktige punkter:

  • Mappen er arbeidsmappen for kjøringene: en relativ sti i koden (open("dados/clientes.csv")) leser og skriver der inne.
  • Mappen er privat for skriptet — et annet skript rører den ikke, ikke engang ved et uhell.

Noden Filer i treet viser mappen slik den er, med antall filer foran. Klikker du på en fil, åpnes den i editoren til skriptet.

Opprette filer og mapper

Hold markøren over linjen Filer for å se de tre knappene der:

Knapp Hva den gjør
Ny fil Oppretter en fil med hvilken som helst filendelse — kode, konfigurasjon, data.
Ny mappe Oppretter en logisk mappe inne i mappen til skriptet.
Last opp filer Sender filer fra datamaskinen din til mappen til skriptet.

Slik oppretter du en fil:

  1. Klikk på Ny fil.
  2. Fyll ut Filsti — f.eks.: utils.py eller dados/clientes.csv. Undermapper skrives med / og opprettes hvis de ikke finnes.
  3. Klikk på Opprett. Er det en tekstfil, åpnes den med én gang i editoren.

Dialogen Ny fil — hvilken som helst filendelse, undermapper med /.
Dialogen Ny fil — hvilken som helst filendelse, undermapper med /.

Direkte grep i treet:

  • Gi nytt navn: dobbeltklikk på navnet, skriv, Enter.
  • Flytt: dra filen (eller mappen) til en annen mappe i treet.
  • Fjern: ×-en som dukker opp når du holder markøren over linjen. Fjerningen skjer med én gang og er endelig — og alle import som brukte filen begynner å feile.
  • Last opp: i tillegg til knappen kan du dra filer fra datamaskinen din rett inn i treet — slipper du dem i en mappe, sendes de dit.

Atenção

Tre filer er beskyttet og kan verken få nytt navn eller fjernes: main.py (inngangen til skriptet), api_manager.py (SDK-en, lagt der for autofullføringen) og requirements.txt (listen over pip-pakker, styrt av panelet for avhengigheter).

Dele skriptet opp i moduler

Du kan dele koden i så mange .py-filer du vil — alle i mappen til skriptet — og importere dem direkte, uten konfigurasjon:

# config.py
CONFIG = {"limite": 100, "moeda": "EUR"}
# main.py
from api_manager import db, log
from config import CONFIG


def main(input):
    linhas = db("Dados CRM").query(
        "select * from oportunidades limit ?", [CONFIG["limite"]]
    )
    log(len(linhas), "leste muligheter")
    return {"total": len(linhas)}

Editoren kjenner modulene dine: autofullføringen foreslår from config import … på samme måte som den foreslår SDK-en.

Filer som kjøringene lager

Skriptet kan skrive filer som det vil — en Excel-fil som skal sendes på e-post, en CSV til arbeidsbruk, en mellomlagring. De blir liggende i mappen til skriptet og dukker opp i noden Filer, der du kan åpne dem i editoren eller fjerne dem.

Dica

Et skript kan kjøre mange ganger. Bruk deterministiske navn — f.eks.: relatorio_2026-08.xlsx, som skrives over ved hver kjøring — i stedet for unike navn som hoper seg opp til disken er full.

To grenser i editoren (ikke i skriptet):

  • Binære filer (en .xlsx, et bilde) åpnes ikke i editoren — treet sier fra. Skriptet fortsetter å lese og skrive dem som normalt.
  • Tekstfiler over 10 MB åpnes heller ikke i editoren, av samme grunn — skriptet kan fortsatt bruke dem.

Installere pip-pakker

Pythons standardbibliotek er alltid tilgjengelig. For eksterne pakker (requests, pandas, openpyxl, …) har hvert skript sitt eget Python-miljø, isolert fra de andre — å installere her endrer ingenting i de andre skriptene.

  1. I treet utvider du skriptet og klikker på skiftenøkkelen på linjen Avhengigheter (Administrer avhengigheter (pakker og skript)).
  2. I modalen Avhengigheter for skriptet (pip + skript), seksjonen Legg til PyPI-pakke, skriver du det nøyaktige navnet på pakken — f.eks.: openpyxl — og klikker på Sjekk. Plattformen bekrefter på PyPI at den finnes, og viser navnet, den nyeste versjonen og beskrivelsen.
  3. Klikk på Installer. Pakken havner i tabellen Installerte pakker, med versjonen.
  4. I koden importerer du som normalt: import openpyxl.

Behandleren for avhengigheter — Python-miljø, legge til PyPI-pakke og listen over installerte.
Behandleren for avhengigheter — Python-miljø, legge til PyPI-pakke og listen over installerte.

Linjen Python-miljø: øverst i modalen forteller hvilken tilstand miljøet til skriptet er i:

Tilstand Betyr
ikke opprettet ennå (opprettes ved første installasjon eller kjøring) Ingen pakke er installert ennå, og skriptet har ikke kjørt.
klart Miljøet finnes og kan brukes — Python-versjonen vises ved siden av.
ødelagt Noe ødela miljøet (f.eks. en oppdatering på serveren). Bruk Bygg venv på nytt.

Tre grep til i den samme modalen:

  • Installer på nytt — dukker opp i stedet for Installer når pakken allerede er der; tvinger fram en ny installasjon.
  • Avinstaller — på linjen til den installerte pakken. Alle import av den pakken i skriptet begynner å feile til den installeres igjen.
  • Bygg venv på nytt — sletter og gjenskaper hele miljøet, og installerer alle pakkene på listen på nytt. Nyttig etter en oppdatering av Python på serveren.

Nota

Miljøet bygger seg selv opp igjen fra listen over pakker hver gang det trengs — listen er sannheten, miljøet er avledet av den. Pakkene vises også under linjen Avhengigheter i treet, hver med sin versjon.

Skript som avhengighet

I tillegg til pakker kan et skript gjenbruke et annet skript — i denne appen eller i en annen du har tilgang til. Filene i skriptet det vises til blir tilgjengelige i en mappe med aliaset du velger, synkronisert før hver kjøring: du retter opprinnelsesskriptet, og de som er avhengige av det tar i bruk den rettede versjonen.

  1. Åpne behandleren for avhengigheter (skiftenøkkelen på linjen Avhengigheter).
  2. I seksjonen Skript som avhengighet: velg App, velg Skript, og gi det et Alias (import) — f.eks.: consolidado. Aliaset må være en gyldig Python-identifikator.
  3. Klikk på Legg til.
  4. I koden importerer du via modulene under aliaset:
from consolidado.main import main as consolidar


def main(input):
    resultado = consolidar({"args": {}, "prev": None, "context": {}})
    return {"consolidado": resultado}

Regler plattformen håndhever når du legger til:

  • Bare skript med samme runtime, og fra apper du har tilgang til, vises.
  • Et skript kan ikke være avhengig av seg selv.
  • Aliaset kan ikke gjentas, og kan ikke være likt en fil eller mappe som allerede finnes i mappen til skriptet.

Atenção

Pip-pakkene til skriptet det vises til følger ikke med. Hvis koden der importerer requests, må du installere requests i dette skriptet også. Versjonen av skriptet det vises til står i treet som app/skript@versjon — det er Versjon som er satt i Innstillinger for skriptet der.

For å fjerne bruker du × på linjen til avhengigheten (i treet eller i behandleren). Aliasmappen forsvinner fra disken, og alle import som brukte den feiler ved neste kjøring.

Vanlige spørsmål

Jeg installerte en pakke, og import feiler fortsatt. Sjekk det nøyaktige navnet på modulen — pakken Pillow importeres for eksempel som PIL. Tabellen Installerte pakker viser navnet på pakken; navnet på modulen finner du i dokumentasjonen til den.

Hvorfor får jeg ikke slettet requirements.txt? Det er en av de tre beskyttede filene — det er listen over pakker i skriptet, vedlikeholdt av panelet for avhengigheter. For å ta bort en pakke bruker du Avinstaller i behandleren for avhengigheter, ikke filen.

En kollega endret skriptet jeg er avhengig av. Når fanger mitt opp endringen? Ved neste kjøring: aliasmappen synkroniseres før hver kjøring av skriptet ditt.