KEPLIN Docs

Afhankelijkheden en bestanden

Het script over meerdere bestanden verdelen, zijn privémap beheren, pip-pakketten installeren en code van andere scripts hergebruiken.

Een script is zelden alleen de main.py. Deze pagina behandelt alles wat eromheen leeft: de bestanden van het script (Python-modules, configuratie, gegenereerde gegevens), de pip-pakketten die in zijn omgeving zijn geïnstalleerd, en de scripts die als afhankelijkheid worden gebruikt — code van een ander script, uit deze app of uit een andere, geïmporteerd door het uwe.

Dat alles beheert u in de boomstructuur van de zijbalk: klap de knoop van het script uit (de pijl links van de naam) en er verschijnen drie ingangen — Bestanden, Afhankelijkheden en Planningen. De eerste twee zijn het onderwerp van deze pagina.

De uitgeklapte knoop van het script in de boom — Bestanden, Afhankelijkheden en Planningen.
De uitgeklapte knoop van het script in de boom — Bestanden, Afhankelijkheden en Planningen.

De map van het script

Elk script heeft een privémap op de server. Daar leven de main.py, de modules die u aanmaakt, de bestanden die u uploadt en alles wat het script tijdens de uitvoeringen naar schijf schrijft. Twee belangrijke punten:

  • De map is de werkmap van de uitvoeringen: een relatief pad in de code (open("dados/clientes.csv")) leest en schrijft daarbinnen.
  • De map is privé voor het script — een ander script komt er niet aan, ook niet per ongeluk.

De knoop Bestanden in de boom toont de map zoals die is, met het aantal bestanden ervoor. Klikken op een bestand opent het in de editor van het script.

Bestanden en mappen aanmaken

Ga met de muis over de regel Bestanden om haar drie knoppen te zien:

Knop Wat die doet
Nieuw bestand Maakt een bestand met een willekeurige extensie aan — code, config, gegevens.
Nieuwe map Maakt een logische map binnen de map van het script aan.
Bestanden uploaden Stuurt bestanden van uw computer naar de map van het script.

Een bestand aanmaken:

  1. Klik op Nieuw bestand.
  2. Vul Bestandspad in — bijv.: utils.py of dados/clientes.csv. Submappen schrijft u met / en ze worden aangemaakt als ze nog niet bestaan.
  3. Klik op Aanmaken. Is het een tekstbestand, dan opent het meteen in de editor.

Het dialoogvenster Nieuw bestand — elke extensie, submappen met /.
Het dialoogvenster Nieuw bestand — elke extensie, submappen met /.

Directe gebaren in de boom:

  • Hernoemen: dubbelklik op de naam, typ, Enter.
  • Verplaatsen: sleep het bestand (of de map) naar een andere map in de boom.
  • Verwijderen: het × dat verschijnt wanneer u met de muis over de regel gaat. Het verwijderen is onmiddellijk en definitief — en de import die het bestand gebruikten, gaan voortaan mislukken.
  • Uploaden: naast de knop kunt u ook bestanden van uw computer rechtstreeks de boom in slepen — ze in een map loslaten stuurt ze daarheen.

Atenção

Drie bestanden zijn beschermd en kunnen niet worden hernoemd of verwijderd: main.py (de ingang van het script), api_manager.py (de SDK, daar neergezet voor het automatisch aanvullen) en requirements.txt (de lijst met pip-pakketten, beheerd door het paneel met afhankelijkheden).

Het script in modules verdelen

U kunt de code over zoveel .py-bestanden verdelen als u wilt — allemaal in de map van het script — en ze rechtstreeks importeren, zonder configuratie:

# 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), "opportuniteiten gelezen")
    return {"total": len(linhas)}

De editor kent uw modules: het automatisch aanvullen stelt from config import … net zo goed voor als de SDK.

Bestanden die door de uitvoeringen worden gegenereerd

Het script mag naar hartenlust bestanden schrijven — een Excel die wordt gegenereerd om per e-mail te versturen, een werk-CSV, een cache. Ze blijven in de map van het script staan en verschijnen in de knoop Bestanden, waar u ze in de editor kunt openen of kunt verwijderen.

Dica

Een script kan heel vaak draaien. Gebruik deterministische namen — bijv. relatorio_2026-08.xlsx, bij elke uitvoering overschreven — in plaats van unieke namen die zich opstapelen tot ze de schijf vullen.

Twee grenzen van de editor (niet van het script):

  • Binaire bestanden (een .xlsx, een afbeelding) openen niet in de editor — de boom waarschuwt. Het script blijft ze gewoon lezen en schrijven.
  • Tekstbestanden boven de 10 MB openen om dezelfde reden ook niet in de editor — het script kan ze wel blijven gebruiken.

Pip-pakketten installeren

De standaardbibliotheek van Python is altijd beschikbaar. Voor externe pakketten (requests, pandas, openpyxl, …) heeft elk script zijn eigen Python-omgeving, geïsoleerd van de andere — hier installeren verandert niets aan de andere scripts.

  1. Klap in de boom het script uit en klik op de moersleutel van de regel Afhankelijkheden (Afhankelijkheden beheren (pakketten en scripts)).
  2. Typ in het venster Afhankelijkheden van het script (pip + scripts), sectie PyPI-pakket toevoegen, de exacte naam van het pakket — bijv. openpyxl — en klik op Controleren. Het platform bevestigt op PyPI dat het bestaat en toont de naam, de meest recente versie en de beschrijving.
  3. Klik op Installeren. Het pakket komt in de tabel Geïnstalleerde pakketten te staan, met de versie.
  4. Importeer het in de code op de gewone manier: import openpyxl.

De beheerder van afhankelijkheden — Python-omgeving, een PyPI-pakket toevoegen en de lijst met geïnstalleerde pakketten.
De beheerder van afhankelijkheden — Python-omgeving, een PyPI-pakket toevoegen en de lijst met geïnstalleerde pakketten.

De regel Python-omgeving: boven in het venster vertelt de staat van de omgeving van het script:

Staat Betekent
nog niet aangemaakt (wordt bij de eerste installatie of uitvoering aangemaakt) Er is nog geen pakket geïnstalleerd en het script heeft nog niet gedraaid.
gereed De omgeving bestaat en is bruikbaar — de versie van Python staat ernaast.
beschadigd Iets heeft de omgeving gebroken (bijv. een update op de server). Gebruik venv opnieuw opbouwen.

Nog drie gebaren in hetzelfde venster:

  • Opnieuw installeren — verschijnt in plaats van Installeren wanneer het pakket er al staat; forceert een herinstallatie.
  • Deïnstalleren — op de regel van het geïnstalleerde pakket. De import van dat pakket in het script gaan mislukken totdat het opnieuw is geïnstalleerd.
  • venv opnieuw opbouwen — verwijdert de hele omgeving en maakt haar opnieuw aan, waarbij alle pakketten uit de lijst opnieuw worden geïnstalleerd. Handig na een update van Python op de server.

Nota

De omgeving bouwt zichzelf zo nodig opnieuw op uit de lijst met pakketten — de lijst is de waarheid, de omgeving is daaruit afgeleid. De pakketten verschijnen ook onder de regel Afhankelijkheden in de boom, elk met zijn eigen versie.

Scripts als afhankelijkheid

Behalve pakketten kan een script ook een ander script hergebruiken — uit deze app of uit een andere waartoe u toegang hebt. De bestanden van het aangehaalde script worden beschikbaar in een map met de alias die u kiest, gesynchroniseerd vóór elke uitvoering: u corrigeert het oorspronkelijke script, en wie ervan afhangt, gebruikt voortaan de gecorrigeerde versie.

  1. Open de beheerder van afhankelijkheden (moersleutel van de regel Afhankelijkheden).
  2. In de sectie Scripts als afhankelijkheid: kies de App, kies het Script, en geef het een Alias (import) — bijv. consolidado. De alias moet een geldige Python-identifier zijn.
  3. Klik op Toevoegen.
  4. Importeer in de code via de modules van de alias:
from consolidado.main import main as consolidar


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

Regels die het platform bij het toevoegen oplegt:

  • Alleen scripts met dezelfde runtime en uit apps waartoe u toegang hebt, verschijnen.
  • Een script kan niet van zichzelf afhangen.
  • De alias mag niet herhaald worden en niet samenvallen met een bestand of map die al in de map van het script bestaat.

Atenção

De pip-pakketten van het aangehaalde script komen niet mee. Als de code ervan requests importeert, installeer requests dan ook in dit script. De versie van het aangehaalde script verschijnt in de boom als app/script@versie — dat is de Versie die is vastgelegd in de Instellingen van het script daarvan.

Gebruik om te verwijderen het × van de regel van de afhankelijkheid (in de boom of in de beheerder). De map van de alias verdwijnt van schijf en de import die haar gebruikten, mislukken bij de volgende uitvoering.

Veelgestelde vragen

Ik heb een pakket geïnstalleerd en de import blijft mislukken. Controleer de exacte naam van de module — het pakket Pillow wordt bijvoorbeeld als PIL geïmporteerd. De tabel Geïnstalleerde pakketten toont de naam van het pakket; de naam van de module komt uit de documentatie ervan.

Waarom kan ik de requirements.txt niet verwijderen? Het is een van de drie beschermde bestanden — het is de lijst met pakketten van het script, bijgehouden door het paneel met afhankelijkheden. Gebruik Deïnstalleren in de beheerder van afhankelijkheden om een pakket weg te halen, niet het bestand.

Een collega heeft het script gewijzigd waarvan ik afhang. Wanneer pikt het mijne die wijziging op? Bij de volgende uitvoering: de map van de alias wordt vóór elke uitvoering van uw script gesynchroniseerd.