android - 在 android 上的 kivy/python 中使用 python for android 进行条件导入
问题描述
Base 是一个使用 p4a 为 android 创建的 python3/kivy apk。
我尝试使用条件导入:
import sys
if 'linux' in sys.platform:
from DruckLinux import Druck
else:
from DruckAndroid import Druck
在 blacklist.txt 中忽略了 DruckAndroid。所以它不会被复制到设备上。也会给依赖项(python-escpos)带来额外的错误。
但我明白了
04-24 20:38:04.850 7235 7261 I python : Traceback (most recent call last):
04-24 20:38:04.850 7235 7261 I python : File "/home/pille/src/mvo_pos/main.py", line 5, in <module>
04-24 20:38:04.851 7235 7261 I python : File "/home/pille/src/mvo_pos/Produktwahl.py", line 29, in <module>
04-24 20:38:04.851 7235 7261 I python : File "/home/pille/src/mvo_pos/Druckbasis.py", line 3, in <module>
04-24 20:38:04.851 7235 7261 I python : ModuleNotFoundError: No module named 'DruckLinux'
04-24 20:38:04.851 7235 7261 I python : Python for android ended.
那么为什么要在我的安卓设备上进行评估呢?
注释掉导入时一切正常。但我想通过有条件的导入来做到这一点。
问候托马斯
解决方案
使用 kivy 而不是像@inclement 建议的 sys 是解决方案
import kivy
if 'linux' in kivy.platform:
from DruckLinux import Druck
else:
from DruckAndroid import Druck
推荐阅读
- python - Python:如何从文件中删除特定字符串?
- ruby-on-rails - 我如何编写一种可以动态生成范围的方法,该方法可用于 ruby on rails 中的多个模型
- python - 像 BeautifulSoup 一样使用 Selenium 获取一些 HTML 代码
- ios - 从 ios 发送图像到网络服务器有时是空白的
- python - 使用 Python 更改 Excel 工作表名称
- safari - iOS Safari 上的 Twilio 远程视频很暗
- regex - 如何编写正则表达式以在字符串和第一个匹配之后提取括号中的内容?
- spring-webflux - Webflux/Reactor 进行两次 API 调用而不是一次
- symfony - 无法自动装配“App\Controller\BlogController::edit()”的参数 $blog:它引用了类“App\Entity\Blog”但不存在此类服务
- match - 更快的 stringdist_inner_join