kivyを使ってiOSにビルドする

ModuleNotFoundError: No module named ‘sh’

というエラーが出てしまった...


こんにちは.

いろんな記事を書いてしまっていますが,要はpythonで作ったAIをアプリにしてしまおうというお話です.

そんなのswiftでやった方が早いよ,という方.

そうなのかもしれません.ただ,僕は,知らなかったんです・・・swiftで作ったアプリにpythonを入れることができるなんて考えられなかったんです・・・

Androidにも対応していますし,もちろんメリットもあります!


iOS端末でkivyを動かすための準備を行っていた

僕がやっていた準備はこちら.

  1. Xcodeコマンドラインツールのインストール
  2. brewを用いた依存関係のインストール
  3. Cython(0.23)のインストール

ターミナルでのコードはこんな感じ.

$ xcode-select --install
$ brew install autoconf automake libtool pkg-config $ brew link libtool
$ pip install cython==0.23

参考とした本はこれ.

これなんかめっちゃでっかいな,横にならんかな笑


問題の発生

4.toolchain.pyの実行 を行った時に

ModuleNotFoundError: No module named ‘sh’

が出てきた.

内容としてはshというモジュールが見つかりません,っていう話だけど,ここでエラーが発生するのは極めて危険な匂いがする.


解決

怖い問題と思ったけど,そうでもなかったかも笑

kivy-iosからダウンロードしたファイルの中に「requirements.txt」というのがありました.

pbxproj==2.5.1 Pillow>=6.1.0 requests>=2.13 cookiecutter==1.7.2 sh==1.12.14 Cython==0.29.17

cythonはインストールしたけど,shはインストールしてなかったからきっとそういうことだろう笑

と,いうことで,こちらを参考にshをインストールしてみた.

$ pip install sh

このコマンドでインストールしたらsh-1.14.1がインストールされてしまったけど大丈夫だろうか...


悲しい話

shをインストールしてから再度,4.toolchain.pyの実行 をしたら,,

ModuleNotFoundError: No module named ‘pbxproj’

また,モジュールエラー,,もうやめてくれ,,

$ pip install pbxproj

これで解決.やっと動き始めた.

めでたしめでたし


追記

ModuleNotFoundError: No module named ‘cookiecutter’

が出てきやがったので,

$ pip install cookiecutter

どっかインストールの部分,ミスってんのかな

コメント

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