FAQ

Häufige Fragen

Zum Ausführen von Code, zu Bibliotheken und Erweiterungen, zur Dateiübertragung und zum KI-Assistenten.

01

Code ausführen

Warum endet die Ausführung nach „Stoppen“ nicht sofort?

„Stoppen“ fordert eine Unterbrechung an, kann aber nicht jeden Vorgang sofort abbrechen. Bei time.sleep(), beim Warten auf Netzwerkantworten oder Sperren und bei einigen Berechnungen in nativen Bibliotheken muss der Aufruf erst zurückkehren. Auch ein laufender Modulimport muss zuerst abgeschlossen werden.

Wenn die Ausführung auch nach längerem Warten nicht stoppt, speichere deine Dateien, schließe Pythona im iOS-App-Umschalter und öffne die App erneut.

Warum schließt sich die App beim Ausführen eines Skripts?

Wenn ein Skript seine Ausführung mit quit(), exit() oder sys.exit() beendet, schließt Pythona standardmäßig die gesamte App.

Ändere unter „Einstellungen → quit() / exit()“ die Option „Pythona beenden“ in „Nur aktuellen Lauf beenden“. Dann endet nur die aktuelle Ausführung und die App bleibt geöffnet.

Beim Verarbeiten großer Arrays oder Ausführen großer Modelle kann iOS die App bei zu hohem Speicherverbrauch direkt beenden, ohne dass unbedingt ein Python-Fehler erscheint. Die Einstellung „quit() / exit()“ hat darauf keinen Einfluss. Versuche, die Datenmenge oder Modellgröße zu reduzieren oder die Daten in kleineren Portionen zu verarbeiten.

Wenn das Problem wiederholt auftritt, sende bei deiner Meldung bitte Code und Schritte mit, mit denen es sich nachstellen lässt.

Wie übergebe ich Argumente an ein Skript?

Halte die Ausführen-Taste im Editor gedrückt und wähle „Mit Argumenten ausführen...“. Die Argumente werden dem Skript als sys.argv[1:] übergeben. Über „Ausführungskonfigurationen bearbeiten…“ im selben Menü kannst du häufig verwendete Argumente speichern und eine Standardkonfiguration festlegen.

Wie führe ich ein Skript mit der App „Kurzbefehle“ aus?

Tippe oben im Editor auf den Dateinamen, wähle „Kurzbefehle“ und kopiere den „Skriptpfad“. Füge dann in der App „Kurzbefehle“ die Pythona-Aktion „Python-Skript ausführen“ hinzu und trage den Pfad ein. Bei Bedarf kannst du Argumente hinzufügen und die zurückgegebene Textausgabe an nachfolgende Aktionen weitergeben.

02

Bibliotheken und Erweiterungen

Warum lassen sich manche Drittanbieter-Bibliotheken nicht installieren?

Der Paket-Manager installiert Drittanbieter-Bibliotheken, die als reine Python-Wheels veröffentlicht werden. Manche Bibliotheken sind nur als Quellcode verfügbar oder benötigen kompilierte Erweiterungen in C, C++, Rust oder ähnlichen Sprachen. Sie lassen sich daher nicht einfach wie auf einem Computer installieren. Native Bibliotheken wie NumPy und SciPy sind bereits vorkompiliert in der App enthalten.

Auch reine Python-Bibliotheken müssen mit Python 3.14 und iOS kompatibel sein. Wenn sie Systemfunktionen benötigen, die in dieser Umgebung nicht verfügbar sind, funktionieren sie möglicherweise trotzdem nicht.

Wichtige enthaltene Bibliotheken ansehen

Werden installierte Bibliotheken über iCloud synchronisiert?

Nein. Über den Paket-Manager installierte Bibliotheken werden lokal auf dem jeweiligen Gerät gespeichert. Skripte im lokalen Speicher, in iCloud und in externen Ordnern verwenden dieselben Bibliotheken.

Wenn du ein Projekt über iCloud synchronisierst, musst du die benötigten Bibliotheken auf dem anderen Gerät separat installieren.

Welche eigenen Erweiterungen bietet Pythona, und wie nutze ich iOS-Funktionen?

Pythona enthält scene für Spiele, Animationen und interaktive Grafiken. Mit photos wählst du Fotos und Videos über die Systemauswahl aus oder speicherst sie in der Fotomediathek. audio bietet Wiedergabe, Aufnahme und Audioeffekte; coreml lädt Modelle für Core ML und führt die Inferenz auf dem Gerät aus.

Mit dem Paket pythona kannst du Funktionen der App nutzen: Über pythona.packages installierst du Drittanbieter-Pakete, über pythona.ai erstellst, liest und aktualisierst du Konfigurationen für benutzerdefinierte KI-Anbieter.

Diese Module benötigen die von Pythona bereitgestellte Laufzeitumgebung. Beim Wechsel in eine andere Python-Umgebung musst du die betreffenden Aufrufe ersetzen oder anpassen. Gleichnamige Module in anderen Apps können andere APIs haben.

Für weitere iOS-Systemfunktionen empfehlen wir rubicon-objc, um native iOS-APIs aus Python aufzurufen. Dazu gehört auch UIKit für native Oberflächen. Beispiele zum Abrufen von Geräteinformationen und zur Verwendung von WKWebView findest du in der App.

Für diese Pythona-eigenen Erweiterungen gibt es derzeit keine separate API-Dokumentation. Als Referenz dienen die Beispiele in der App, der einsehbare Quellcode der Python-Module und die integrierten Hilfetexte der Module. Du kannst auch den KI-Assistenten bitten, diese Informationen zuerst durchzusehen und anschließend Code zu schreiben und auszuführen.

Was sollte ich für Spiele oder grafische Oberflächen verwenden?

Für 2D-Spiele, Animationen und Audiowiedergabe empfehlen wir pygame (die App enthält pygame-ce). pygame.mixer kann Musik oder Soundeffekte eigenständig abspielen, ohne ein Fenster zu erstellen.

Oberflächen oder Webspiele kannst du mit HTML, CSS und JavaScript erstellen und in Pythona über WKWebView anzeigen. Webinhalte lassen sich leicht auf anderen Plattformen wiederverwenden. Beim Wechsel auf eine andere Plattform musst du den Code zum Anzeigen in WKWebView und zur Verbindung mit Python oder iOS-Funktionen anpassen.

Für native iOS-Oberflächen kannst du UIKit über rubicon-objc aufrufen. Code mit UIKit bleibt von iOS abhängig.

Pythona unterstützt auch Tkinter, um vorhandene Tkinter-Skripte auszuführen oder einfache Werkzeuge zu erstellen. Die Oberfläche hat einen traditionellen Desktop-Stil. Wenn dir die Darstellung und Bedienung auf Mobilgeräten wichtiger sind, empfehlen wir eine Weboberfläche oder UIKit über rubicon-objc. Passende Beispiele findest du in der App.

03

Dateien

Wie tausche ich Dateien mit einem Computer aus?

Für Codeprojekte empfehlen wir Git: Klone dasselbe Remote-Repository in Pythona und auf deinem Computer. Erstelle nach Änderungen einen Commit, pushe ihn und hole die Änderungen anschließend auf dem anderen Gerät mit Pull ab.

Du kannst Dateien auch über iCloud Drive synchronisieren oder mit der Teilen-Funktion des Systems exportieren. Für den Austausch mit einem Mac kannst du auch AirDrop verwenden.

Du kannst in der App auch den „Dateiserver“ starten. Öffne dann auf einem Computer im selben lokalen Netzwerk die in der App angezeigte Adresse im Browser, um Dateien hoch- oder herunterzuladen. Der Dateiserver hat kein Anmeldepasswort. Verwende ihn nur in einem vertrauenswürdigen Netzwerk und stoppe ihn nach der Übertragung.

04

KI-Assistent

Welche Dateien kann der KI-Assistent lesen und schreiben?

Der KI-Assistent verwendet den Arbeitsbereich der aktuellen Unterhaltung als Standard-Projektverzeichnis. Bevor du die erste Nachricht in einer neuen Unterhaltung sendest, kannst du über „Arbeitsbereich wechseln“ einen Ordner auswählen. Wenn du im Dateibrowser in ein anderes Verzeichnis wechselst, bleibt der Arbeitsbereich einer bestehenden Unterhaltung unverändert.

Der KI-Assistent kann auch run_python aufrufen, um Python-Code auszuführen und Dateien und Ordner innerhalb der App zu lesen, einschließlich Inhalten außerhalb des Arbeitsbereichs. Dieser Zugriff ist nicht auf den ausgewählten Arbeitsbereich beschränkt.

Unterstützt der KI-Assistent AGENTS.md?

Ja. Erstelle eine AGENTS.md im Stammverzeichnis des Arbeitsbereichs der aktuellen Unterhaltung. Darin kannst du das Projekt beschreiben, den Codestil festlegen und weitere Regeln für die Zusammenarbeit angeben.

Der Assistent liest diese Datei automatisch, wenn er eine neue Nachricht verarbeitet. Gespeicherte Änderungen werden wirksam, sobald du die nächste Nachricht sendest. Nur die AGENTS.md im Stammverzeichnis des Arbeitsbereichs wird automatisch geladen; gleichnamige Dateien in Unterverzeichnissen werden nicht automatisch zusammengeführt.

Wofür ist ein benutzerdefinierter Anbieter (JS Provider) gedacht?

Ein benutzerdefinierter Anbieter ermöglicht es dir, die Anbindung an KI-Dienste mit JavaScript anzupassen. Damit kannst du APIs, Authentifizierungsverfahren oder Dienstfunktionen nutzen, die integrierte Anbieter noch nicht unterstützen, und eigene Tools hinzufügen.

JavaScript wird hier verwendet, damit die Verbindung zu KI-Diensten, die Authentifizierung und die Verarbeitung von Antworten in einer eigenen Laufzeitumgebung erfolgen. So wird verhindert, dass diese Abläufe deine Python-Umgebung beeinträchtigen.

Eigene Tools können externe Dienste aufrufen oder run_python einbinden. Damit kann der Assistent Python-Skripte ausführen und darüber iOS-Funktionen nutzen.

Wenn die integrierten Anbieter deine Anforderungen bereits erfüllen, brauchst du nichts zusätzlich einzurichten. Für Erweiterungen findest du die Referenz „JavaScript API“ und Beispiele auf der Konfigurationsseite.

Noch eine Frage?

Wenn du ein Problem meldest, gib bitte die App-Version, die Schritte zum Nachstellen und den vollständigen Fehlertext an.

Entwickler kontaktieren