実現したいこと
Kivyというフレームワークで開発したスマホアプリをAndroid上で実行するために「Kivy Launcher」というAndoroidアプリを使用しています。
Kivy Launcher上でpythonコードを実行する際に、PCでダウンロードしたパッケージを使いたいです。
前提
Kivyというフレームワークを使い、PC(Windows)で正常に動くアプリをpythonで作りました。
コードの中でpipでインストールしたパッケージをimportして使っているのですが、Kivy Launcherでimportしようとするとエラーが出ます。(当たり前)
パッケージが保存されている場所がC:\Users\Owner\AppData\Local\Programs\Python\Python310\lib\site-packages
だとわかったので
とりあえず、
https://self-development.info/python%E3%81%A7%E3%82%B9%E3%83%9E%E3%83%9B%E3%82%A2%E3%83%97%E3%83%AA%E3%82%92%E9%96%8B%E7%99%BA%E3%81%99%E3%82%8B%E3%80%90kivy-launcher%E3%80%91/
を参考にして作ったプロジェクトのフォルダーの中(/storage/emulated/0/kivy/appli/)にパッケージをフォルダごとコピペして、android.txtも置いて実行してみましたが上手くいきませんでした。
Kivy Launcher上でpipでインストールしたパッケージを使用する方法を教えてください。
発生している問題・エラーメッセージ
[INFO ] Logger: Record log in /storage/emulated/0/kivy/appli/.kivy/logs/kivy_23-02-06_7.txt [INFO ] Kivy: v1.9.1 [INFO ] Python: v2.7.2 (default, Mar 20 2016, 23:30:13) [GCC 4.8] [INFO ] Factory: 179 symbols loaded [WARNING ] stderr: /data/user/0/org.kivy.pygame/files/lib/python2.7/site-packages/kivy/core/image/img_pygame.py:13: RuntimeWarning: import cdrom: No module named cdrom [WARNING ] stderr: (ImportError: No module named cdrom) [INFO ] Image: Providers: img_tex, img_dds, img_gif, img_pygame, img_pil (img_ffpyplayer ignored) [WARNING ] stderr: Traceback (most recent call last): [WARNING ] stderr: File "main.py", line 8, in <module> [WARNING ] stderr: import requests [WARNING ] stderr: File "/storage/emulated/0/kivy/appli/requests/__init__.py", line 43, in <module> [WARNING ] stderr: import urllib3 [WARNING ] stderr: ImportError: No module named urllib3
該当のソースコード
python
1# -*- coding: utf-8 -*- 2print('start') 3import inspect 4from kivy.app import App 5#from kivy.factory import Factory 6from kivy.uix.boxlayout import BoxLayout 7from kivy.uix.floatlayout import FloatLayout 8import requests 9print(inspect.getfile(requests)) 10from kivy.properties import ObjectProperty 11 12from passlib.context import CryptContext 13print(inspect.getfile(CryptContext)) 14pwt_context = CryptContext(schemes=["bcrypt"], deprecated="auto") 15 16#省略 17 18AppliApp().run()
試したこと
・/storage/emulated/0/kivy/appli/にそのままフォルダごとパッケージをコピペした
※requestsモジュールならrequestsフォルダ
・kivyのパッケージしかimportしない簡単なコードを動かしてみた
python
1from kivy.app import App 2from kivy.uix.button import Button 3 4class MyApp(App): 5 def build(self): 6 return Button(text='Hello,world.') 7 8MyApp().run()
/storage/emulated/0/kivy/my/フォルダにこのコードとandroid.txtを置いただけで正常に動作した。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
Windows10
Pixel6(最新バージョン)
Python(PC上) v3.10.9
Kivy v2.1.0
Kivy Launcherダウンロード元:
https://www.androidlist.jp/item/android-apps/190007/org-kivy-pygame/apk/download/?id_apk=recent/
回答1件