【问题标题】:Issue with aiohttp in BuildozerBuildozer 中的 aiohttp 问题
【发布时间】:2022-11-11 01:39:29
【问题描述】:

我在尝试使用 Buildozer 将我的 Kivy 应用程序转换为 apk 时遇到了问题。该应用程序在通过 Python 运行时按预期执行,并且让 Buildozer 生成 apk 没有问题。我已经陷入了反复试验的兔子洞,因为它无法运行,所以将所有需要的模块添加到 .spec 文件中。现在,我从 aiohttp 收到了一个新错误,这让我很困惑。

04-09 02:36:39.248 22155 23029 I python  :  Traceback (most recent call last):
04-09 02:36:39.248 22155 23029 I python  :    File "/content/.buildozer/android/app/main.py", line 7, in <module>
04-09 02:36:39.249 22155 23029 I python  :    File "/content/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/python-installs/myapp/arm64-v8a/scrython/__init__.py", line 2, in <module>
04-09 02:36:39.249 22155 23029 I python  :    File "/content/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/python-installs/myapp/arm64-v8a/scrython/cards/__init__.py", line 1, in <module>
04-09 02:36:39.249 22155 23029 I python  :    File "/content/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/python-installs/myapp/arm64-v8a/scrython/cards/autocomplete.py", line 3, in <module>
04-09 02:36:39.249 22155 23029 I python  :    File "/content/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/python-installs/myapp/arm64-v8a/scrython/foundation.py", line 1, in <module>
04-09 02:36:39.250 22155 23029 I python  :    File "/content/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/python-installs/myapp/arm64-v8a/aiohttp/__init__.py", line 6, in <module>
04-09 02:36:39.250 22155 23029 I python  :    File "/content/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/python-installs/myapp/arm64-v8a/aiohttp/client.py", line 32, in <module>
04-09 02:36:39.250 22155 23029 I python  :    File "/content/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/python-installs/myapp/arm64-v8a/aiohttp/http.py", line 7, in <module>
04-09 02:36:39.250 22155 23029 I python  :    File "/content/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/python-installs/myapp/arm64-v8a/aiohttp/http_parser.py", line 15, in <module>
04-09 02:36:39.251 22155 23029 I python  :    File "/content/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/python-installs/myapp/arm64-v8a/aiohttp/helpers.py", line 607, in <module>
04-09 02:36:39.251 22155 23029 I python  :  TypeError: function() argument 'code' must be code, not str

我还在 buildozer.spec 文件中包含了声明的要求。我很感激任何帮助解决这个问题!

# (list) Application requirements
# comma separated e.g. requirements = sqlite3,kivy
requirements = python3,kivy,aiohttp,multidict,attrs,yarl,async-timeout,charset-normalizer,idna,scrython

编辑:我已经尝试使用我的 Anaconda 环境中使用的每个特定版本更新上述要求。错误输出没有变化。

【问题讨论】:

    标签: python kivy buildozer


    【解决方案1】:

    导入aiohttp 似乎是一个问题,因为它的新版本需要更新版本的async-timeout 失败(参见@csira 的原始comment)。
    为了解决这个问题,我将下一个版本固定在buildozer.spec

    requirements = python3, kivy, aiohttp==v3.7.4, aiosignal, frozenlist, async-timeout==3.0.1, attrs, charset-normalizer, multidict, yarl, idna, typing-extensions==4.4.0, chardet==4.0.0
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-13
      • 1970-01-01
      • 2022-07-25
      • 2015-12-01
      • 1970-01-01
      • 2020-08-30
      相关资源
      最近更新 更多