為什麼點擊「停止」後沒有立即停止?
點擊「停止」會要求中斷目前執行,但無法立即中斷所有操作。time.sleep()、等待網路回應、等待鎖定和部分原生函式庫運算,都需要等操作返回後才能停止;匯入模組時也會等匯入結束。
如果長時間無法停止,可以先儲存檔案,再從 iOS 的 App 切換器關閉 Pythona 後重新開啟。
FAQ
關於程式碼執行、函式庫與擴充、檔案傳輸和 AI 助手。
點擊「停止」會要求中斷目前執行,但無法立即中斷所有操作。time.sleep()、等待網路回應、等待鎖定和部分原生函式庫運算,都需要等操作返回後才能停止;匯入模組時也會等匯入結束。
如果長時間無法停止,可以先儲存檔案,再從 iOS 的 App 切換器關閉 Pythona 後重新開啟。
如果腳本透過 quit()、exit() 或 sys.exit() 結束執行,Pythona 預設會退出整個 App。
在「設定 → quit() / exit()」中,將「退出 Pythona」改為「僅結束目前執行」,就可以只結束目前執行,讓 App 保持開啟。
處理大型陣列或執行大型模型時,如果記憶體用量過高,iOS 可能直接終止 App,不一定會出現 Python 錯誤訊息。這種退出不受「quit() / exit()」設定控制。可以嘗試減少資料量、使用較小的模型,或分批處理。
如果問題反覆出現,請附上可重現問題的程式碼和操作步驟回報。
長按編輯器的執行按鈕,選擇「帶參數執行…」。參數會傳給腳本的 sys.argv[1:]。常用參數可以透過同一選單裡的「編輯執行配置…」儲存,並設為預設配置。
在編輯器中點一下頂部檔案名稱,選擇「捷徑」,複製「腳本路徑」。然後在系統「捷徑」App 中加入 Pythona 的「執行 Python 腳本」動作,填入路徑。需要時可以加入參數,動作傳回的文字輸出也可以交給後續動作使用。
套件管理員支援安裝以純 Python wheel 形式發布的第三方函式庫。有些函式庫只提供原始碼,或依賴 C、C++、Rust 等編譯擴充模組,無法按照電腦上的方式直接安裝。NumPy、SciPy 等原生函式庫由 App 預先編譯提供。
純 Python 函式庫也需要相容於 Python 3.14 和 iOS;如果依賴目前環境不支援的系統功能,仍可能無法執行。
查看主要內建函式庫不會。透過套件管理員安裝的第三方函式庫只儲存在目前裝置上。本機、iCloud 和外部資料夾中的腳本都可以使用這些函式庫。
透過 iCloud 同步專案後,需要在另一台裝置上另外安裝專案依賴的函式庫。
Pythona 內建的 scene 用於遊戲、動畫與互動圖形;photos 用於透過系統相簿選取或儲存照片、影片;audio 提供音訊播放、錄音和音效處理;coreml 用於載入 Core ML 模型並在裝置上執行推論。
透過 pythona 可以使用 App 本身的功能:用 pythona.packages 安裝第三方套件,用 pythona.ai 建立、讀取和更新自訂 AI 供應商的設定。
這些模組依賴 Pythona 的執行環境。移轉到其他 Python 環境時,需要替換或調整相關呼叫。其他 App 中的同名模組也可能使用不同的 API。
需要呼叫更多 iOS 系統功能時,建議使用 rubicon-objc,透過 Python 呼叫 iOS 原生 API,包括用 UIKit 建立原生介面。可以參考 App 內的裝置資訊和 WKWebView 範例。
這些專屬擴充目前不提供獨立的 API 文件。可以參考 App 內的範例、可讀取的 Python 模組原始碼和模組內建的說明資訊,也可以讓 AI 助手先查看這些資料,再撰寫和執行程式碼。
2D 遊戲、動畫和音訊播放建議使用 pygame(App 內建 pygame-ce)。pygame.mixer 可以單獨播放音樂或音效,無須建立視窗。
製作介面或網頁遊戲,可以使用 HTML、CSS 和 JavaScript,並在 Pythona 中透過 WKWebView 顯示。網頁內容便於跨平台重複使用。移植到其他平台時,需要調整 WKWebView 的顯示程式碼,以及網頁與 Python 或 iOS 功能互動的程式碼。
需要 iOS 原生介面時,可以透過 rubicon-objc 呼叫 UIKit。使用 UIKit 的程式碼仍然依賴 iOS。
Pythona 也支援 Tkinter,適合執行既有的 Tkinter 腳本或製作簡單工具。介面採用傳統桌面風格;如果更重視行動裝置的外觀和互動,建議使用網頁介面,或透過 rubicon-objc 呼叫 UIKit。App 內有對應範例。
程式碼專案建議使用 Git:在 Pythona 和電腦上複製同一個遠端儲存庫,修改後提交並推送,再在另一端提取更新。
也可以透過 iCloud Drive 同步檔案,或使用系統分享功能匯出檔案;與 Mac 交換檔案時,也可以使用 AirDrop。
也可以在 App 中啟用「檔案伺服器」,讓位於同一區域網路的電腦透過瀏覽器開啟 App 顯示的位址,上傳和下載檔案。檔案伺服器沒有登入密碼,請在可信任的網路中使用,傳輸完成後停止服務。
AI 助手以目前對話的工作區作為預設專案目錄。在新對話傳送第一則訊息前,可以透過「切換工作區」選擇資料夾。切換檔案瀏覽器中的目錄不會改變既有對話的工作區。
AI 助手也可以呼叫 run_python 執行 Python 程式碼,讀取 App 內的檔案和資料夾,包括工作區以外的內容。這類存取不受所選工作區範圍限制。
支援。在目前對話的工作區根目錄建立 AGENTS.md,可以寫入專案說明、程式碼風格和其他協作要求。
助手會在處理每則新訊息時自動讀取該檔案;修改並儲存後,下次傳送訊息時即可生效。只自動載入工作區根目錄的 AGENTS.md,不會自動合併子目錄中的同名檔案。
透過自訂供應商,可以用 JavaScript 自行串接 AI 服務,使用內建供應商尚未支援的 API、驗證方式或服務功能,也可以加入自訂工具。
這裡使用 JavaScript,是為了把 AI 服務的連線、驗證和回應處理放在獨立的執行環境中,避免干擾使用者的 Python 環境。
自訂工具可以呼叫外部服務,也可以封裝 run_python,讓助手執行 Python 腳本,或透過腳本呼叫 iOS 功能。
如果內建供應商已經滿足需求,就不需要額外設定。需要擴充時,可以參考設定頁提供的 JavaScript API 和範例。