iPhone上でPythonを実行できるPythonistaという有料のアプリが先日Python3.10に対応してアップデートされていました。 その際に、今まで使えていたStaShというシェルが使えなくなって少し困ったので備忘録として対応方法を残します。*1 なお、StaShの導入は済んでいる状態とします。
参考にした情報元
You need to make some changes to StaSh to make it work, see here: https://t.co/I0nehHRBDC
— Ole Zorn ⁂ (@olemoritz) 2023年4月29日
It was.
— __eventide__ (@eventide_) 2023年4月28日
For other users, I had to make a couple of tweaks to stash files to get stash ui up and running
1) line 20 in https://t.co/bC43ASyC6x (see photo)
2) line 897 in pythonista_ui (change isAlive() to is_alive() pic.twitter.com/VTqGNVDuhW
こちらのツイートを参考にしました。
具体的な変更内容
リンクが切れてしまった時のために変更する場所のみこちらにも示します。先人の知恵に感謝します。
libdeist.pyの"site-packages-3"を”site-packages”へ変更する
shcommon.pyの20行目の変更
# l_properties =(中略) 'Info.plist'))#ここをコメントアウト loc = os.path.join(os.path.dirname(sys.executable), 'Info.plist') with open(loc, 'rb') as fp : _properties = plistlib.loads(fp.read())#この3行を追記
- pythonista_ui.pyの897行目の変更
# if self.render_thread.isAlive()#ここをコメントアウト if self.render_thread.is_alive()#このように修正する
ファイルを探す時はホームで下にドラッグして検索窓を出してファイル名を検索すると楽です。
その他
これらの変更を反映するとStaShは実行できるようになりましたが、 前実行できていたファイルがpipで改めてライブラリを入れても実行できませんでした。 どうやらsite-package-3が残っていて干渉している様です。 site-pacakege-3に入っていたライブラリを消去したところ、無事に動きました。
まとめ
先日OpenAIのライブラリをPythonistaで動かそうとしたときはpythonのバージョンが古く断念したのですが、 これであれば実行できるようになったのではと思います。 ちょっと試してみようと思います。 ちなみに、こちらのスマホ側の処理はPythonistaで書いています。 M5StackUserMeetingにこちらを復活させようと思ったらトラブったのが原因でした。
スマホ入力に合わせてBGMを生成し、首を振って踊るロボットを作りました。#MFKyoto2021 #作品発表 pic.twitter.com/nj9Wkp3quK
— パスコンパス (@pscmps) 2021年5月1日
読んで下さりありがとうございました!
*1:新たにDLしたり不具合対応されたら必要なくなる気もしますが念のため。