kivy / kivy/python-for-android
ImportError: cannot import name 'BuildDependencyInstallError' while compiling due to inconsistent p4a pip (Kivy-Buildozer)
- 主要语言
- Python
- 星标
- 8.9k
- 派生
- 2k
- 平均合并
- 12 小时 20 分钟
- 30 天内合并 PR
- 9
描述
Running script in Google Colab to make .apk from Kivy Android code with following commands:
`!pip3 install --user --upgrade buildozer`
`!sudo apt update`
`!sudo apt install -y git zip unzip openjdk-17-jdk python3-pip autoconf libtool pkg-config zlib1g-dev libncurses5-dev libncursesw5-dev libtinfo5 cmake libffi-dev libssl-dev`
`!pip3 install --user --upgrade Cython==0.29.33 virtualenv`
`!/root/.local/bin/buildozer init`
`!/root/.local/bin/buildozer android debug`
if buildozer.spec I changed only one line:
`requirements = python3,kivy,pillow`
Every time Colab gives me the following traceback, the errors came from python-for-android:
[INFO]: <- directory context /content/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build
[INFO]: <- directory context /content/.buildozer/android/platform/python-for-android
[INFO]: *** PYTHON PACKAGE / PROJECT INSTALL STAGE FOR ARCH: arm64-v8a ***
[DEBUG]: -> running pip3 install certifi chardet filetype idna requests six urllib3 --dry-run --break-system-packages --ignore-installed --disable-pip-version-check --only-binary=:all: --report /tmp/tmpyzf2cyck -q --platform=android_24_arm64_v8a --platform=android_24_aarch64 --python-version 3.14.2
[INFO]: Extra resolved pure python dependencies :
[INFO]:
[INFO]: charset-normalizer : 3.4.9
[INFO]:
[INFO]: The requirements (certifi, chardet, filetype, idna, requests, six, urllib3, https://files.pythonhosted.org/packages/98/2b/f97f1c193fb855c345d678f5077d6926034db0722df74c8f057020e05a25/charset_normalizer-3.4.9-py3-none-any.whl) don't have recipes, attempting to install them with pip
[INFO]: If this fails, it may mean that the module has compiled components and needs a recipe.
[INFO]: -> directory context /content/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build
[DEBUG]: -> running python -m venv venv
[INFO]: Upgrade pip to latest version
[DEBUG]: -> running bash -c source venv/bin/activate && pip install -U pip
[DEBUG]: Traceback (most recent call last):
[DEBUG]: File "/content/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/venv/bin/pip", line 3, in
[DEBUG]: from pip._internal.cli.main import main
[DEBUG]: File "/content/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/venv/lib/python3.14/site-packages/pip/_internal/cli/main.py", line 11, in
[DEBUG]: from pip._internal.cli.autocompletion import autocomplete
[DEBUG]: File "/content/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/venv/lib/python3.14/site-packages/pip/_internal/cli/autocompletion.py", line 12, in
[DEBUG]: from pip._internal.cli.main_parser import create_main_parser
[DEBUG]: File "/content/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/venv/lib/python3.14/site-packages/pip/_internal/cli/main_parser.py", line 9, in
[DEBUG]: from pip._internal.build_env import get_runnable_pip
[DEBUG]: File "/content/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/venv/lib/python3.14/site-packages/pip/_internal/build_env/__init__.py", line 8, in
[DEBUG]: from pip._internal.build_env.installer import (
[DEBUG]: ...<2 lines>...
[DEBUG]: )
[DEBUG]: File "/content/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/venv/lib/python3.14/site-packages/pip/_internal/build_env/installer.py", line 14, in
[DEBUG]: from pip._internal.exceptions import (
[DEBUG]: ...<4 lines>...
[DEBUG]: )
[DEBUG]: ImportError: cannot import name 'BuildDependencyInstallError' from 'pip._internal.exceptions' (/content/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/venv/lib/python3.14/site-packages/pip/_internal/exceptions.py)
Exception in thread background thread for pid 125306:
Traceback (most recent call last):
File "/usr/lib/python3.12/threading.py", line 1075, in _bootstrap_inner
self.run()
File "/usr/lib/python3.12/threading.py", line 1012, in run
self._target(*self._args, **self._kwargs)
File "/root/.local/lib/python3.12/site-packages/sh/__init__.py", line 1709, in wrap
fn(*rgs, **kwargs)
File "/root/.local/lib/python3.12/site-packages/sh/__init__.py", line 2720, in background_thread
handle_exit_code(exit_code)
File "/root/.local/lib/python3.12/site-packages/sh/__init__.py", line 2411, in fn
return self.command.handle_command_exit_code(exit_code)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/root/.local/lib/python3.12/site-packages/sh/__init__.py", line 820, in handle_command_exit_code
raise exc
sh.ErrorReturnCode_1:
RAN: /usr/bin/bash -c 'source venv/bin/activate && pip install -U pip'
STDOUT:
Traceback (most recent call last):
File "/content/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/venv/bin/pip", line 3, in
from pip._internal.cli.main import main
File "/content/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/venv/lib/python3.14/site-packages/pip/_internal/cli/main.py", line 11, in
from pip._internal.cli.autocompletion import autocomplete
File "/content/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/venv/lib/python3.14/site-packages/pip/_internal/cli/autocompletion.py", line 12, in
from pip._internal.cli.main_parser import create_main_parser
File "/content/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/venv/lib/python3.14/site-packages/pip/_internal/cli/main_parser.py", line 9, in
from pip._internal.build_env import get_runnable_pip
File "/content/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/venv/lib/python3.14/site-packages/pip/_internal/build_env/__init__.py", line 8, in
from pip._internal.build_env.installer import (
...<2 lines>...
)
File "/content/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/venv/lib/python3.14/site-packages/pip/_internal/build_env/installer.py", line 14, in
from pip._internal.exceptions import (
...<4 lines>...
)
ImportError: cannot import name 'BuildDependencyInstallError' from 'pip._internal.exceptions' (/content/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/venv/lib/python3.14/site-packages/pip/_internal/exceptions.py)
STDERR:
Traceback (most recent call last):
File "", line 198, in _run_module_as_main
File "", line 88, in _run_code
File "/content/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py", line 1290, in
main()
File "/content/.buildozer/android/platform/python-for-android/pythonforandroid/entrypoints.py", line 18, in main
ToolchainCL()
File "/content/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py", line 721, in __init__
getattr(self, command)(args)
File "/content/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py", line 104, in wrapper_func
build_dist_from_args(ctx, dist, args)
File "/content/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py", line 163, in build_dist_from_args
build_recipes(build_order, python_modules, ctx,
File "/content/.buildozer/android/platform/python-for-android/pythonforandroid/build.py", line 554, in build_recipes
run_pymodules_install(
File "/content/.buildozer/android/platform/python-for-android/pythonforandroid/build.py", line 877, in run_pymodules_install
shprint(sh.bash, '-c', (
File "/content/.buildozer/android/platform/python-for-android/pythonforandroid/logger.py", line 174, in shprint
for line in output:
^^^^^^
File "/root/.local/lib/python3.12/site-packages/sh/__init__.py", line 876, in __next__
self.wait()
File "/root/.local/lib/python3.12/site-packages/sh/__init__.py", line 793, in wait
self.handle_command_exit_code(exit_code)
File "/root/.local/lib/python3.12/site-packages/sh/__init__.py", line 820, in handle_command_exit_code
raise exc
sh.ErrorReturnCode_1:
RAN: /usr/bin/bash -c 'source venv/bin/activate && pip install -U pip'
STDOUT:
Traceback (most recent call last):
File "/content/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/venv/bin/pip", line 3, in
from pip._internal.cli.main import main
File "/content/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/venv/lib/python3.14/site-packages/pip/_internal/cli/main.py", line 11, in
from pip._internal.cli.autocompletion import autocomplete
File "/content/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/venv/lib/python3.14/site-packages/pip/_internal/cli/autocompletion.py", line 12, in
from pip._internal.cli.main_parser import create_main_parser
File "/content/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/venv/lib/python3.14/site-packages/pip/_internal/cli/main_parser.py", line 9, in
from pip._internal.build_env import get_runnable_pip
File "/content/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/venv/lib/python3.14/site-packages/pip/_internal/build_env/__init__.py", line 8, in
from pip._internal.build_env.installer import (
...<2 lines>...
)
File "/content/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/venv/lib/python3.14/site-packages/pip/_internal/build_env/installer.py", line 14, in
from pip._internal.exceptions import (
...<4 lines>...
)
**ImportError: cannot import name 'BuildDependencyInstallError' from 'pip._internal.exceptions' (/content/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/venv/lib/python3.14/site-packages/pip/_internal/exceptions.py)**
How could I fix it? Setting up the specific versions (I tried 3.10.12, 3.11.6, 3.12.10, 3.14.1) of hostpython3, downgrading the pip versions to <25.0.1in venv with cleaning the cache didn't help - the traceback remains the same..
Thank you for your attention and I would be grateful for any help!
贡献指南
调研方向
重新执行列出的 Google Colab 命令,并检查 pip 失败时生成的虚拟环境。跟踪从 pythonforandroid/toolchain.py 经由 pythonforandroid/build.py 发起的调用,特别是 run_pymodules_install,并比较所报告的导入不匹配涉及的 pip 组件。依赖安装阶段完成且 Android 调试构建继续进行,即表示完成。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- android, python
- 领域
- build-system, mobile-dev
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 冷清
- 描述清晰度
- 基本清楚
- 新手友好度
- 48/100