2022年、Pythonista 3によるWEB系プログラムは苦しい。

Python

iOSにてPythonコードを実行できるPythonista3を知りまして、「これは良さそうだ」と購入してインストールしてみました。しかし、正直なところWEB系のプログラムの実行が苦しいので導入を断念しました。

Pythonista3の特徴

‎Pythonista 3
‎Pythonista is a complete scripting environment for Python 3.10, running right on your iPad or iPhone, so you can develop and run Python scripts on the go.Like ...

Pythonista3はiOS(iPhone, iPad)にてPythonを実行できるアプリです。

iOS端末でPythonコードを書いて実行できるので、満足なPCが用意出来ない環境でのPython学習やiOS端末上でのPythonによる自動処理に利用できて魅力的なアプリです。

有料アプリで1,000円程度ですが、Pythonを動くこととGUI環境が用意されていることを考えるとリーズナブルなくらいだと思いました。

しかしWEB系プログラムが苦しい

さっそくポチった

Pythonista3を知ってからこれを使ってiOS端末からWEB APIを叩くGUIのミニアプリの様なものを作ろうと思い立ち、App Storeで購入しました。

Pythonista3を扱った以下の書籍も買い、GUIの作り方を少し調べてから実際にミニアプリの製作に取り掛かりました。

WEB APIを叩いてみた

WEB APIを叩く方法としてurllibを使ってGETリクエストを送ってみました。

しかしエラーが出てしまうのです。

SSL: CERTIFICATE_VERIFY_FAILEDというものです。

ちなみにurllibだけではなく、よく使われるrequestsを使っても同様です。

SSLに関わるエラー

エラーの内容はその文面の通り、SSLに関するものです。

以下は関連のissueです。

SSL certificate verify failed for Let's Encrypt certificate · Issue #675 · omz/Pythonista-Issues
If I run the following code in Pythonista: import requests requests.get("") I get a CERTIFICATE_VERIFY_FAILED error with the following trace: Traceback (most re...
SSL handshake fails · Issue #652 · omz/Pythonista-Issues
I have a MQTT (Mosquitto) server listening for websocket connections from clients and is secured via a valid 3rd party issued SSL certificate. All connections w...

Pythonista3がPython3.6であることが原因なのか、Python環境によるSSLエラーのようです。

Pythonista自体もここ2年アップデートされていないので、2022年現在の環境としては少し古いと思います。

とりあえずエラー回避はできる

このSSLエラーに関しては、とりあえずでエラーを回避できます。

以下のコードを追加します。

import ssl
ssl._create_default_https_context = ssl._create_unverified_context

これで「とりあえず」は動くようになります。

しかしSSLを無視してセキュリティ的に危ない橋は渡りたくありませんので、やはり現実的にこれはやりたくありません。

そして返品

結局のところ、一番やりたかったWEB APIを叩く処理がSSL絡みの問題で出来ないとなるとPythonisita3を使う意味は無いので使用を断念することにしました。

数日でもアプリの試用期間があれば気づけたかもしれませんが、既に先払いでアプリを購入していましたので、初めてAppleに対してアプリの返品(返金)を依頼しました。

Pythonista3自体はPython3.6が動く環境として、手軽なPythonの学習環境としては2022年の今もとても有用でリーズナブルだと思います。

しかし今回は残念ながら私自身の個人的な用途には使えないと判断して導入を断念することにしました。

せっかく書籍も買ったのに。。。

Pythonista3の代替アプリ :

Pythonista3の代わりとなるアプリを探してみたところ、ひとつ見つけました。

「Pyto」というアプリです。

https://pyto.app/
Code Python on iOS

こちらは試用期間がありましたのでインストールして使い勝手を試してみました。

正直なところ、GUIの機能はPythonista3の方が良さそうですが一番の目的だったWEB APIを叩く処理は問題なく実行できました。

アプリ自体は不安定だとのレビューがありましたが、現在もアップデートが行われていますのでGUI機能は安定性の向上に期待したいです。

コメント

タイトルとURLをコピーしました