🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Kivy

Kivyは、Pythonを用いたNUI開発のためのオープンソースフレームワーク。マルチタッチなど多くの入力に対応したNUIアプリなどを開発することができます。多くの環境で動作するクロスプラットフォームです。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

2924閲覧

Kivy-iOSのインストール途中にエラー

akisan55

総合スコア49

Kivy

Kivyは、Pythonを用いたNUI開発のためのオープンソースフレームワーク。マルチタッチなど多くの入力に対応したNUIアプリなどを開発することができます。多くの環境で動作するクロスプラットフォームです。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/09/18 14:21

編集2021/09/19 13:05

###概要
https://cafe-mickey.com/python/kivy-ios/

Kivy-iOSをインストールしようとしているのですが、途中でエラーが出てしまいます。

Traceback (most recent call last): File "/Users/.../Desktop/tom/kivy-ios/toolchain.py", line 4, in <module> main() File "/Users/.../Desktop/tom/kivy-ios/kivy_ios/toolchain.py", line 1536, in main ToolchainCL() File "/Users/.../Desktop/tom/kivy-ios/kivy_ios/toolchain.py", line 1293, in __init__ getattr(self, args.command)() File "/Users/.../Desktop/tom/kivy-ios/kivy_ios/toolchain.py", line 1354, in build build_recipes(args.recipe, ctx) File "/Users/.../Desktop/tom/kivy-ios/kivy_ios/toolchain.py", line 1136, in build_recipes recipe.execute() File "/Users/.../Desktop/tom/kivy-ios/kivy_ios/toolchain.py", line 701, in execute self.extract() File "/Users/.../Desktop/tom/kivy-ios/kivy_ios/toolchain.py", line 73, in _cache_execution f(self, *args, **kwargs) File "/Users/.../Desktop/tom/kivy-ios/kivy_ios/toolchain.py", line 746, in extract self.extract_arch(arch.arch) File "/Users/.../Desktop/tom/kivy-ios/kivy_ios/toolchain.py", line 750, in extract_arch dest_dir = join(build_dir, self.archive_root) File "/usr/local/.../python@3.9/3.9.6/Frameworks/Python.framework/Versions/3.9/lib/python3.9/posixpath.py", line 90, in join genericpath._check_arg_types('join', a, *p) File "/usr/local/.../python@3.9/3.9.6/Frameworks/Python.framework/Versions/3.9/lib/python3.9/genericpath.py", line 152, in _check_arg_types raise TypeError(f'{funcname}() argument must be str, bytes, or ' TypeError: join() argument must be str, bytes, or os.PathLike object, not 'NoneType'

エラーの原因がわかる方がいれば、ご教授願います。
また、インストール方法に誤りがあるなら、別のインストール方法を教えていただけると助かります。
###環境
python3.6.7 venv仮想環境 iOS-proj
Xcode 12
###補足事項
他にも、エラーが出た部分はありましたが、一旦スキップしました。

xcode-select --install

xcode-select: error: command line tools are already installed, use "Software Update" to install updates

brew link libtool

Warning: Already linked: /opt/homebrew/Cellar/libtool/2.4.6_4 To relink, run: brew unlink libtool && brew link libtool

brew install autoconf automake libtool pkg-configを実行した後だから、「既にlibtoolインストール済み」というエラーが出たのでしょうか...
###補足事項2

$ xcrun -sdk iphonesimulator --show-sdk-path /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.5.sdk

###補足事項3

$python-m vent iOS-proj

###引用部分

kivy-iosの導入については下記githubを参考にしています。

https://github.com/kivy/kivy-ios
デスクトップなどにkivyフォルダを作って、ターミナルを起動し作ったパスまで移動します。
cd /Users/●●/Desktop/kivy
pythonの仮想環境を用意します。
※kivyでは仮想環境での起動が推奨されています。
python -m venv venv
source venv/bin/activate
pipでkivy-iosをインストールします。
pip install kivy-ios
インストールが終わったら、以下を順々に入力して実行していきます。
xcode-select --install
brew install autoconf automake libtool pkg-config
brew link libtool
pip install cython
toolchain build kivy
toolchain build kivyでは20分くらいかかりました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jbpb0

2021/09/18 14:39

> Error extracting the archive /Users/.../Documents/iOS/Kivy-project/.cache/freetype-freetype-2.5.5.tar.bz2 https://download.savannah.gnu.org/releases/freetype/ に「freetype-2.5.5.tar.bz2」が無いので、エラーになります venv/lib/python3.*/site-packages/kivy_ios/recipes/freetype/__init__.py の「version = "2.5.5"」を、上記Webサイトに存在してるバージョンに書き換えて下記を実行したら、次に進めると思います toolchain clean freetype toolchain build python3 kivy ただし、書き換えるバージョンは、 https://download.savannah.gnu.org/releases/freetype/ に、ファイル名の末尾が「bz2」のファイルが存在するバージョンじゃないとダメです 現時点では、「2.10.0」までですね もしかすると、 venv/lib/python3.*/site-packages/kivy_ios/recipes/freetype/__init__.py の「url = "http://download.savannah.gnu.org/releases/freetype/freetype-{version}.tar.bz2"」の「bz2」を「gz」または「xz」に変えたら、「2.10.0」よりも新しいのが指定できるかもしれません (未確認)
akisan55

2021/09/18 14:55 編集

有難うございます。上記のエラーは回避できました。 しかし、また新しいエラーが出てしまいました。 どのようにしたら次のステップに進めるでしょうか。 何度もすみませんが、よろしくお願いします。
jbpb0

2021/09/18 22:30 編集

> Downloading http://download.savannah.gnu.org/releases/freetype/freetype-2.5.5.tar.bz2 「freetype-2.5.5.tar.bz2」を使おうとしてるので、状況変わってません 上のコメントに書いたファイル修正は、やったのでしょうか? venv/lib/python3.*/site-packages/kivy_ios/recipes/freetype/__init__.py というファイルはありましたか? あったのなら、どのような修正をしたのでしょうか? toolchain recipes を実行したら、ずらーーーっと表示されますが、現状ではその中に「freetype 2.5.5」というのがあると思います 上のコメントに書いたファイル修正をしたら、そのバージョンが変わるはずです それを確認してください 【追記】 エラーメッセージ中にたくさん 「/Users/.../Documents/iOS/Kivy-project/iOS-proj/lib/python3.6/site-packages/kivy_ios/…」 とありますが、 https://cafe-mickey.com/python/kivy-ios/ に書かれてる通りに python -m venv venv とやってたら、上記ではなく、たぶん 「/Users/.../Documents/iOS/Kivy-project/venv/lib/python3.6/site-packages/kivy_ios/…」 となるはずなんですが 参考Webページとは違う事を何かやってるなら、それを質問に書いてくれないと分からないです もし作成した仮想環境名が参考Webページと違うなら、修正するファイルのパスも変わるので、そこは「venv」から読み替えてください
gottadiveintopy

2021/09/18 21:38

freetypeの問題は以下のPRで修正されているようなので最新開発版のkivy-iosを試してみるのもありかもしれないですね。 https://github.com/kivy/kivy-ios/pull/632 (自分はApple製品を持ってないので試してはいません)
akisan55

2021/09/19 00:14

すみません、何か勘違いをしていました。 versionを2.11.0.tar.gzに変更すると無事freetypeはインストールできました。しかし、hostlibffiのファイルをインストールしている途中にOSエラーが出てしまったので、回避方法をご存知でしたら、回答いただけると助かります。
gottadiveintopy

2021/09/19 10:33

ssl 関連のエラーは kivy-ios でよく出てるみたいですね。以下の質問で私が貼ったlinkを覗くと分かると思いますが https://teratail.com/questions/357006 GitHubで「ssl」と検索するだけで手掛かりになりそうな情報がうじゃうじゃ出てきます。なので不明なエラーが出たらまずはそこで調べるのがお薦めです。
jbpb0

2021/09/19 12:53

「新しく出たエラー2」は、質問の当初のエラーが解決して新たに発生したエラーなので、別の質問にしてください エラーが解決して新たに発生したエラーを同じ質問に追加し続けるのは、おかしいです
akisan55

2021/09/19 12:58

申し訳ありませんでした。 質問を編集しておきます。
akisan55

2021/09/19 13:01

@gottadiveintopyさん 有難うございます。 GitHub issueで探すと、確かに手掛かりになりそうな記事が出てきました。 助かりました。
jbpb0

2021/09/19 13:13 編集

質問に記載するエラーは、「freetype」に関するものにしてください そうしないと、他人がこの質問を見たときに、私の回答がどのようなエラーへの対策なのかが分かりませんので 【追記】 質問に以前書かれてたエラーメッセージには、「Traceback...」のちょっと上に、「freetype」の処理をしてるところでコケてることが分かる記載が書かれてたはずです そうでなければ、私は「freetype」の処理の問題だと分からず、回答に書いた内容を助言することはできませんでした そこも含めて、質問には書いてください
guest

回答1

0

ベストアンサー

Downloading http://download.savannah.gnu.org/releases/freetype/freetype-2.5.5.tar.bz2

/releases/freetype/
に「freetype-2.5.5.tar.bz2」が無いので、エラーになります

仮想環境名/lib/python3.*/site-packages/kivy_ios/recipes/freetype/init.py
の「version = "2.5.5"」を、上記Webサイトに存在してるバージョンに書き換えて下記を実行したら、次に進めると思います

sh

1toolchain clean freetype 2toolchain build python3 kivy

ただし、書き換えるバージョンは、上記Webサイトに、ファイル名の末尾が「bz2」のファイルが存在するバージョンじゃないとダメです

あるいは、公式の修正
Fix outdated freetype url #632
のように、バージョンは変更せずに「2.5.5」のままで、ダウンロードのURLを変えるという対策方法もあります

投稿2021/09/19 12:46

jbpb0

総合スコア7653

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

akisan55

2021/09/19 12:59

有難うございます。 freetypeがinstallできない問題は無事解決しました。 助かりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問