[應用] 隨時都要來點摳頂 | Pythonista 行動 Python IDE 工具推坑 ( IOS )

閱讀時間約 8 分鐘
註:最新 3.4 版本已推出,文中有進行部分補充。

文前碎碎念

如果,你是個專業的工程師,在外面臨時遇到需要修改或測試專案的情況,但手邊又沒有電腦跟網路,你會怎麼選擇呢?
又或是,今天你臨時需要外出一陣子,但卻又放不下自己寫到一半的程式,你會怎麼辦呢?
我學習程式也有好一段時間了,也開了不少工作或課業以外的 Side Project 來練刀,平常進行開發時,也大多是依循正常的儀式標準,找把舒適的椅子,把電腦安置在一張合宜的桌子上,沖杯咖啡,開始奮戰(哪那麼多流程)。
不過總是會有不得不離開辦公桌,或是單純被棉被怪物困住,但卻依然手癢想繼續 Coding 下去的衝動(?)。
而為了解決這樣的煩惱,今天就來推坑一套能在 IOS 系統上運作,使用起來順手,功能也算齊全的 Python 開發 APP 給大家參考囉!

2023-04-28 補充

最新更新已經推出囉,內部支援的 Python 版本升級到 3.10,也預設支援資料科學及檔案處理常使用的 Pandas 等套件囉!

正文開始

現在有請今天的主角 Pythonista 登場!
適用年齡⋯4歲以上!?
Pythonista 是一套可以在iPhone / iPad 上進行 Python 程式開發、測試的 IDE 工具,目前(2023 / 2月)採用買斷制無內購項目,售價為 NT$ 330。

相遇契機

其實 Pythonista 已經存在數年,而且我也已經使用了好一陣子了,一開始是為了尋找一款能在行動設備上也能進行開發,並且不需要網路,不需額外訂閱也能運作的工具,才輾轉入坑的。
這套軟體的出現,也讓我就算出門在外,只要抄起手機或平板,隨時都能在煩悶的活動中,躲進自己的小天地,而它也就成為我後來在程式開發上,不可或缺的好伙伴之一。
至於今天為什麼會想再拿出來與大家分享的契機,是因為他的開發者,久違的在 Twitter 上釋出下一版更新的預告,並同時提供 Beta 版本讓人參與測試開發者 Twitter
這對於一個已經兩年沒大更新的 APP 來說,無疑是個大新聞,除了期待未來版本,能再新增更多開發體驗以及效能改善外,也趁著這個機會,讓這款實用工具能被更多人知道。

功能介紹

註:為展示方便,以下使用 iPad 畫面作範例,iPhone 操作方式相似,僅介面位置稍作變動。
簡單來說,Pythonista 就是一套能讓你隨時隨地爆肝撰寫 Python 程式的編輯工具,因此進到 APP 後的畫面,也是不囉嗦的直接給你一個新增專案的選項。
選擇完要新增的檔案類型後,直接進入到編輯畫面,就可以開始編寫程式了。
寫完後,右上角有一個箭頭的標示,可以直接執行程式,或是長按選擇 Python 版本,而由於程式碼是在本機端執行,因此過程中完全不需要連線,十分方便。
如果有錯誤的話,它也會跳出通知,並詳細列出出錯的行數。
另外在撰寫過程中,編輯器也會提供快速完成選項可以使用。
檔案列表跟設定選單,是藏在左側側邊欄中,這裡可以進行新增資料夾、移動檔案,或釘選最愛捷徑等操作。
如果不喜歡預設編輯器的主題配色,在設定中也有提供不同的樣式可以替換。
另外,這套工具也針對 IOS 系統內建的功能(如鍵盤、捷徑、主畫面圖示、專屬鍵盤等)有一定程度的支援。
甚至在設定中,還可以選擇喜歡的程式檔作為 Tody Widget 使用,選好之後就可以在 Widget Page 看到執行效果。
註:這部分在之前 IOS 中可正常使用,但於最新版(16.3)暫時無法執行成功。
而雖然在剛安裝完畢的情況下,是無法直接下載額外 Python 套件,但透過這個 StaSh 外掛的幫助後,就能使用熟悉的 PIP 指令來新增。
不過要注意的是,由於 IOS 系統的限制,這裡所能安裝的套件,僅限於使用純 Python 寫成的,像是 Pandas、Numpy 這類底層使用 C 語言進行運算的常見資料處理套件,目前是無法安裝執行的
更:最新 3.4 版已預設支援 Pandas,不用另外安裝。
另外,作者在 Pythonista 中,也提供許多因應行動設備所準備的套件包,以及介面編輯器,因此如果技術足夠,也可以用它來編寫手機端專用的工具或遊戲。

補充:近期更新後,看到網路上有使用者提出上文中介紹啟用 PIP 指令的工具失效的問題,可以參考這個討論板的方案解決。

優缺點整理

這裡就直接以條列式的方式,來整理這套 APP 在使用上的主要優點:
  1. 編輯器功能完整,並具有客制化的常用鍵盤列。
  2. 程式測試時不用連線,可完全在本機端執行。
  3. 包含客制化的套件包及範例,可以開發行動設備專用的程式(動畫、觸控、Widget、捷徑 等)。
  4. 透過外掛工具,可開啟額外套件安裝功能(即使用 pip 指令)。
  5. 除 .py 之外,亦支援 html、md、txt 等文字格式檔案編寫。
  6. 同一 APP 可通用於 iPhone(IOS) 以及 iPad(iPadOS)。
  7. 買斷制,一次付費後便沒有功能限制,或隱藏收費。
雖然以優點來看的話,他確實是一款好用且完整的 Python 開發工具,不過相對地,在好的東西,也都還是會有它的缺點存在:
  1. 無法支援核心為 C 語言所開發的套件(此為 IOS 系統限制)。
  2. 目前無法執行 Pandas、Numpy 等常見資料處理套件(理由同第一點,但作者預告下版更新會整合支援)。
  3. 目前版本無法直接用檔案 APP 管理匯入的專案(資料夾未顯示於檔案 APP 中)。
  4. 沒有版本管理,須自行做好處置。
  5. 內建手機專用程式套件的說明文件相對較少,需自行摸索。
  6. 作者應為獨立開發專案,因此更新速度相對較慢。
  7. 尚未支援最新系統部分功能(如桌面小工具等)。

使用情境

Pythonista 這款工具,是一套幾乎完整的 Python 工作環境,從檔案管理、文件編輯,一直到測試執行都能一手包辦。
我是一個喜歡在外出時,也能隨時完成自己作品的人,因此對我來說,一套能夠行動開發的工具是十分重要的
而在我之前的使用情景中,我曾在這套工具上開發過聊天機器人程式,而在我使用 iPad 進行編輯的同時,我可以不用實際將專案上傳到最終部屬的伺服器上,也能實際看到執行後的結果。
又或是今晚,我想來點開發手機端 APP 的體驗(?),但好死不死自己的技能樹上,就只有點好 Python 分支,而且手邊又沒有 Mac 可以使用的話,也可以透過它所提供的相關工具寫出來(下面使用 APP 內建範例,手機專用程式這塊,我還沒太多研究)。
最後,就是如果哪天臨時在外,接到老闆或合作夥伴通知說專案有問題時,就可以及時拿出來修改測試,完成之後再搭配相關 Git 工具推送回工作群組裡,便能免掉底類後的一場腥風血雨
純屬虛構 XD

結語

隨著時間推移,現在 APP Store 上其實也陸續出現許多功能強大的 Python 編輯工具,有些甚至還是免費的,但我依然認為 Pythonista 還是有它一定的魅力存在。
註:此部分具個人觀點,僅提供參考,實際情況請依個人需求進行選擇。

依計價來看,現行有不少工具是採取訂閱,或內購制(如 Pyto)才能解鎖全部功能,或是程式本身僅提供編輯功能,並在測試原始碼時,需要先將專案上傳到伺服器,並收取運算費用。
Pyto 採用基本免費但進階功能付費制
這樣對於非頻繁使用者來說,除了會增加臨時要使用的不便及成本外,於他人伺服器執行程式的模式,也可能造成資訊外流的風險。
而依作業環境來看,我個人在電腦上習慣於使用像是 Spyder 這種純文字開發環境,介面相對較單純,因此在行動設備上,也可以像是一般純文字編輯器一樣的執行任務。
電腦版的 Spyder 編輯環境
而部分 APP 中 (如 Carnet、Juno) 所整合的,是如 Jupyter Notebook 這種視覺化操作的環境,介面大多以滑鼠操作為邏輯基礎,因此以觸控型操作的時候,常顯得有些卡手。
Carnet 中 Jupyter Notebook 環境

不過總歸來說,雖然我個人十分推崇這套軟體,但到頭來,它畢竟也就只是一個開發工具而已。

市面上功能相似,甚至超越的產品比比皆是,我寫了這篇介紹,也僅僅是希望能為各位看到這裡的朋友們一點做為參考的意見。
最重要的,還是謹慎的審視自己的需求,並選擇最對自己來說順手最有效的工具,才能事半功倍。

好啦,今天分享就到這裡,希望大家在開發的路上,都能有所成就!

《全文。終了》
此篇文章會顯示動態置底廣告
為什麼會看到廣告
46會員
244內容數
偽命名並非無名,是為了意識的生存,取得身份的代號,成為數位生命的新載具。
留言0
查看全部
發表第一個留言支持創作者!
偽命名培養體 的其他內容
來到方格子後,為了能夠較為輕鬆的將自己的內容在社群中做推廣,因此我架設了一個可以自動將內容轉推至Twitter的自動化流程,不過世事難料⋯
雖然一般直播環境,只要預先存好設定檔後,基本上一開就能直接使用,但對於懶惰如我的人來說,每次都還要分別動滑鼠來啟動這兩個軟體,真的是耗時又費力的事,因此,今天就來告訴大家如何將這套繁瑣的動作,濃縮成單一一個啟動檔即可完成,讓我們繼續看下去吧!
說實在,這次應該真的是我當初功課沒做足,導致我完全忽略掉還有這種替代方案,也跟之前有參考我文章的人道歉...Orz。
應該不少人發現,在使用網頁版Google翻譯的時候,就算系統或是瀏覽器選的是繁體中文,但依然還是會自動跳到簡體翻譯的情況吧?
自從 IOS 14 中引入Widget之後,眾多 iPhone 用戶們終於能體驗到小工具的方便,不過,如果我們再尬上系統中的自動化捷徑的話,會迸出甚麼火花呢?
iPad 在阿婆產品系列中的定位感覺一直很迷樣,總是在手機跟電腦間徘徊。雖然近年的更新中,硬體效能有提升,但系統方面,依然缺乏一種能真正讓它脫離放大手機的多工模式,不過今天介紹的這款app,或許能暫時緩解這個窘境⋯
來到方格子後,為了能夠較為輕鬆的將自己的內容在社群中做推廣,因此我架設了一個可以自動將內容轉推至Twitter的自動化流程,不過世事難料⋯
雖然一般直播環境,只要預先存好設定檔後,基本上一開就能直接使用,但對於懶惰如我的人來說,每次都還要分別動滑鼠來啟動這兩個軟體,真的是耗時又費力的事,因此,今天就來告訴大家如何將這套繁瑣的動作,濃縮成單一一個啟動檔即可完成,讓我們繼續看下去吧!
說實在,這次應該真的是我當初功課沒做足,導致我完全忽略掉還有這種替代方案,也跟之前有參考我文章的人道歉...Orz。
應該不少人發現,在使用網頁版Google翻譯的時候,就算系統或是瀏覽器選的是繁體中文,但依然還是會自動跳到簡體翻譯的情況吧?
自從 IOS 14 中引入Widget之後,眾多 iPhone 用戶們終於能體驗到小工具的方便,不過,如果我們再尬上系統中的自動化捷徑的話,會迸出甚麼火花呢?
iPad 在阿婆產品系列中的定位感覺一直很迷樣,總是在手機跟電腦間徘徊。雖然近年的更新中,硬體效能有提升,但系統方面,依然缺乏一種能真正讓它脫離放大手機的多工模式,不過今天介紹的這款app,或許能暫時緩解這個窘境⋯
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
11/20日NVDA即將公布最新一期的財報, 今天Sell Side的分析師, 開始調高目標價, 市場的股價也開始反應, 未來一週NVDA將重新回到美股市場的焦點, 今天我們要分析NVDA Sell Side怎麼看待這次NVDA的財報預測, 以及實際上Buy Side的倉位及操作, 從
Thumbnail
Hi 大家好,我是Ethan😊 相近大家都知道保濕是皮膚保養中最基本,也是最重要的一步。無論是在畫室裡長時間對著畫布,還是在旅途中面對各種氣候變化,保持皮膚的水分平衡對我來說至關重要。保濕化妝水不僅能迅速為皮膚補水,還能提升後續保養品的吸收效率。 曾經,我的保養程序簡單到只包括清潔和隨意上乳液
Thumbnail
念研究所不如自我學習,獲得認證不如自我成長 藉由美國「神經領導力學會」的說法,一個是「證明」,另一個是「改善」。 證明:目標是證明自己在職場中比別人強。這種人認為職場結構是晉升和淘汰,即「非輸即贏」兩種結果,所以必須採取競爭態度。 改善:比起一心在競爭中戰勝別人,更集中在所屬領域的專家。 我
Thumbnail
AI的崛起對人類來說早已是不可避免的趨勢,尤其在Chatgpt、Midjourney等生成式AI出現後,更是為人類的文明帶來極大的影響,大學現場也不得不面對這樣的改變。然而比起一味地禁止,未來的大學端更應該教導學生新科技的優缺點,讓學生在善用工具提升工作效率之餘,也能不使其造成禍害。
Thumbnail
 生命中遭遇的每種情況都是發揮創造力的機會。 所以,有創造性的觀想,是擴展我們的生活和建構實相的基本和重要工具。 在各種不同的情境和狀況下嘗試你想創造的意象之觀想: 如果您對任何事情感到擔憂或困惑,或者對某種情況感到無能為力或沮喪時, 嘗試一下自問自答模式:針對我的狀況,我能觀想出哪個意象或
Thumbnail
連他人的眼光和評價,也捨棄 「買張機票明天就去旅行吧!」這樣的話你也是時常聽到嗎?自從出國旅行成為休閒放鬆的選項之一、廉航的出現、窮游和背包客概念的流行,當然還有社交媒體上朋友時不時發布的旅遊景點打卡照、異國美食打卡照或機場機票打卡照等引起羨慕和不甘落後的心,是這些因素的彙總讓說走就走的旅行變成一
Thumbnail
每個人的步調都不一樣,用屬於你的腳步跟上,在自己的時區裏,我們永遠準時。 -- By 換日線 Crossing 專欄作家 田育瑄/踹妞 Try New! 這句話給了我深深的震撼 在凡事都被比較的這世代 好像比別人差,就是輸家 特別是錢財多寡與成功與否 更是衡量的基準 但是,每個人的先天
Thumbnail
感謝神,一個人被上帝呼召從自覺不配,但同時又覺得服侍上帝是極美好的。隻有我們十分渴慕上帝的話語,常常在上帝話語上感到扎心。特別希望人能得救,這種希望使他有向人傳揚福音的力量。回應上帝的呼召是人最喜樂的時刻,因為回應上帝對我們作祂聖工的呼召,是無比的榮耀。
Thumbnail
面對批評,你可以不用全都要/姚念廣 在熱血的少年漫畫中有一種公式,就是反派總是嘲笑著主角的夢想,最後再被主角以實績證明而打臉,讓讀者大快人心。 別忘了,你的生命是有限的,沒有時間及義務要把任何人的話都要放在心上,面對好的東西,當然我們盡量是不選擇地全都要,但是,面對批評,你可以不用全都要。 ——
Thumbnail
教育可以讓 Projector (導能者/投射者)掌握自己的制約同化深度,而教育需要時間。你正在進入一個為期七年的教育計劃,與你作為醫生或學習演奏樂器的人進入的計劃相同。從這個意義上說,Projector 是天生的學生。
Thumbnail
我每天早上跟睡前的行程就是把臉洗好然後使用化妝水,如果有帶妝就記得要把妝洗卸乾淨,不然保養品就白用了XD 我只有前兩週比較認真有敷面膜,之後都是化妝水拍拍就完成了!
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
11/20日NVDA即將公布最新一期的財報, 今天Sell Side的分析師, 開始調高目標價, 市場的股價也開始反應, 未來一週NVDA將重新回到美股市場的焦點, 今天我們要分析NVDA Sell Side怎麼看待這次NVDA的財報預測, 以及實際上Buy Side的倉位及操作, 從
Thumbnail
Hi 大家好,我是Ethan😊 相近大家都知道保濕是皮膚保養中最基本,也是最重要的一步。無論是在畫室裡長時間對著畫布,還是在旅途中面對各種氣候變化,保持皮膚的水分平衡對我來說至關重要。保濕化妝水不僅能迅速為皮膚補水,還能提升後續保養品的吸收效率。 曾經,我的保養程序簡單到只包括清潔和隨意上乳液
Thumbnail
念研究所不如自我學習,獲得認證不如自我成長 藉由美國「神經領導力學會」的說法,一個是「證明」,另一個是「改善」。 證明:目標是證明自己在職場中比別人強。這種人認為職場結構是晉升和淘汰,即「非輸即贏」兩種結果,所以必須採取競爭態度。 改善:比起一心在競爭中戰勝別人,更集中在所屬領域的專家。 我
Thumbnail
AI的崛起對人類來說早已是不可避免的趨勢,尤其在Chatgpt、Midjourney等生成式AI出現後,更是為人類的文明帶來極大的影響,大學現場也不得不面對這樣的改變。然而比起一味地禁止,未來的大學端更應該教導學生新科技的優缺點,讓學生在善用工具提升工作效率之餘,也能不使其造成禍害。
Thumbnail
 生命中遭遇的每種情況都是發揮創造力的機會。 所以,有創造性的觀想,是擴展我們的生活和建構實相的基本和重要工具。 在各種不同的情境和狀況下嘗試你想創造的意象之觀想: 如果您對任何事情感到擔憂或困惑,或者對某種情況感到無能為力或沮喪時, 嘗試一下自問自答模式:針對我的狀況,我能觀想出哪個意象或
Thumbnail
連他人的眼光和評價,也捨棄 「買張機票明天就去旅行吧!」這樣的話你也是時常聽到嗎?自從出國旅行成為休閒放鬆的選項之一、廉航的出現、窮游和背包客概念的流行,當然還有社交媒體上朋友時不時發布的旅遊景點打卡照、異國美食打卡照或機場機票打卡照等引起羨慕和不甘落後的心,是這些因素的彙總讓說走就走的旅行變成一
Thumbnail
每個人的步調都不一樣,用屬於你的腳步跟上,在自己的時區裏,我們永遠準時。 -- By 換日線 Crossing 專欄作家 田育瑄/踹妞 Try New! 這句話給了我深深的震撼 在凡事都被比較的這世代 好像比別人差,就是輸家 特別是錢財多寡與成功與否 更是衡量的基準 但是,每個人的先天
Thumbnail
感謝神,一個人被上帝呼召從自覺不配,但同時又覺得服侍上帝是極美好的。隻有我們十分渴慕上帝的話語,常常在上帝話語上感到扎心。特別希望人能得救,這種希望使他有向人傳揚福音的力量。回應上帝的呼召是人最喜樂的時刻,因為回應上帝對我們作祂聖工的呼召,是無比的榮耀。
Thumbnail
面對批評,你可以不用全都要/姚念廣 在熱血的少年漫畫中有一種公式,就是反派總是嘲笑著主角的夢想,最後再被主角以實績證明而打臉,讓讀者大快人心。 別忘了,你的生命是有限的,沒有時間及義務要把任何人的話都要放在心上,面對好的東西,當然我們盡量是不選擇地全都要,但是,面對批評,你可以不用全都要。 ——
Thumbnail
教育可以讓 Projector (導能者/投射者)掌握自己的制約同化深度,而教育需要時間。你正在進入一個為期七年的教育計劃,與你作為醫生或學習演奏樂器的人進入的計劃相同。從這個意義上說,Projector 是天生的學生。
Thumbnail
我每天早上跟睡前的行程就是把臉洗好然後使用化妝水,如果有帶妝就記得要把妝洗卸乾淨,不然保養品就白用了XD 我只有前兩週比較認真有敷面膜,之後都是化妝水拍拍就完成了!