openatx / adbutils

pure python adb library for google adb service.
MIT License
736 stars 173 forks source link

ModuleNotFoundError: No module named 'apkutils2.axml.axmlparser' #80

Closed accjiyun closed 1 year ago

accjiyun commented 1 year ago

项目中锁定了版本uiautomator2==2.16.18,在docker容器中运行的项目,较高概率出现 ModuleNotFoundError: No module named 'apkutils2.axml.axmlparser',换了多个镜像源依然如此

Requirement already satisfied: xmltodict in ./venv/lib/python3.10/site-packages (from apkutils2<2.0,>=1.0.0->adbutils>=1.0.6->uiautomator2==2.16.19->-r requirements.txt (line 6)) (0.13.0)
Traceback (most recent call last):
  File "/home/user/autotest/103/1021/job-py/main.py", line 11, in <module>
    from tests import milink
  File "/home/user/autotest/103/1021/job-py/tests/milink/__init__.py", line 4, in <module>
    from tests.milink import input_service
  File "/home/user/autotest/103/1021/job-py/tests/milink/input_service.py", line 5, in <module>
    import uiautomator2 as u2
  File "/home/user/autotest/103/1021/job-py/venv/lib/python3.10/site-packages/uiautomator2/__init__.py", line 40, in <module>
    import adbutils
  File "/home/user/autotest/103/1021/job-py/venv/lib/python3.10/site-packages/adbutils/__init__.py", line 12, in <module>
    from ._adb import AdbConnection
  File "/home/user/autotest/103/1021/job-py/venv/lib/python3.10/site-packages/adbutils/_adb.py", line 16, in <module>
    from adbutils._utils import adb_path
  File "/home/user/autotest/103/1021/job-py/venv/lib/python3.10/site-packages/adbutils/_utils.py", line 13, in <module>
    from apkutils2.axml.axmlparser import AXML
ModuleNotFoundError: No module named 'apkutils2.axml.axmlparser'

登陆机器实例,查看虚拟环境文件:

$ ls venv/lib/python3.10/site-packages/apkutils2/axml/

__pycache__

正常时应为:

$ ls venv/lib/python3.10/site-packages/apkutils2/axml/

arscparser.py  axmlparser.py  chunk.py  __init__.py  public.py  __pycache__

因为 apkutils2 是fork在 https://github.com/codeskyblue/apkutils2下

@codeskyblue 麻烦抽空看一下,谢谢!

codeskyblue commented 1 year ago

复现不出来

(py310) ~ ➤ python
Python 3.10.8 (main, Nov  4 2022, 08:45:18) [Clang 12.0.0 ] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import uiautomator2 as u2
>>> from apkutils2.axml.axmlparser import AXML
>>> u2.version.__version__
'2.16.18'
>>>
codeskyblue commented 1 year ago

Reopen if still exists