首页 > 解决方案 > 在 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.

那么为什么要在我的安卓设备上进行评估呢?

注释掉导入时一切正常。但我想通过有条件的导入来做到这一点。

问候托马斯

标签: androidpythonkivy

解决方案


使用 kivy 而不是像@inclement 建议的 sys 是解决方案

import kivy
if 'linux' in kivy.platform:
    from DruckLinux import Druck
else:
    from DruckAndroid import Druck

推荐阅读