【发布时间】:2019-08-23 10:24:45
【问题描述】:
我正在尝试使用 buildozer 构建 Kivy 应用程序。我已经升级到 buildozer 0.39。构建失败:
File "~/.local/lib/python2.7/site-packages/sh.py", line 672, in handle_command_exit_code
raise exc
sh.ErrorReturnCode_1:
RAN: /bin/rm -f CMakeCache.txt CMakeFiles/
STDOUT:
/bin/rm: cannot remove 'CMakeFiles/': Is a directory
我已经安装了cmake 3.5.1版
2019 年 4 月 18 日编辑
已安装 0.21 版 cython。
我已经按照here 的说明卸载了 cmake 并重新安装了 3.14.2 版。
我已删除 .buildozer 目录。当我现在运行 buildozer I 时,会遇到问题:
RAN: ./autogen.sh
STDOUT:
./autogen.sh: 2: exec: autoreconf: not found
之后
sudo apt install autoconf libtool
我现在得到错误:
STDOUT:
File "setup.py", line 159
print "--- using Tcl/Tk libraries at", TCL_ROOT
^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("--- using Tcl/Tk libraries at", TCL_ROOT)?
2019 年 4 月 19 日编辑
如果我卸载 buildozer,它似乎是 python 2.7
/usr/local/lib/python2.7/dist-packages/buildozer-0.39.dist-info/*
我从 python 版本为 2.7.12 的目录安装了 buildozer
如何将 buildozer 定位到 python 2.7?
我怎样才能知道它是如何定位的?
我如何使用这些信息?
我曾尝试在 python 3 的 virtualenv 中使用 buildozer,但我得到了同样的错误。
我迷路了。我看过Docker,但我不知道如何安装或使用它。它是否假定 buildozer 的工作版本?它是什么?它能解决我的问题吗?
2019 年 4 月 21 日编辑
当我跑步时
docker run --volume "$HOME/.buildozer":/home/user/.buildozer --volume "$PWD":/home/user/hostcwd kivy/buildozer --version
'Buildozer 0.40.dev0'。
但是,当我尝试运行时
docker run --volume "$HOME/.buildozer":/home/user/.buildozer --volume "$PWD":/home/user/hostcwd kivy/buildozer android debug
我得到错误:
将 /home/user/.buildozer/android/platform/android-ndk-r17c 重命名为 /home/jeff/.buildozer/crystax-ndk/crystax-ndk-10.3.2 失败,因为 /home/jeff/.buildozer /crystax-ndk/crystax-ndk-10.3.2 不是目录
2019 年 4 月 22 日编辑
我现在已经注释掉了
#android.ndk_path
来自 buildozer.spec
我现在得到错误:
Cwd /home/user/hostcwd/.buildozer/android/platform/python-for-android
命令失败:/usr/bin/python3 -m pythonforandroid.toolchain create --dist_name=bfgApp --bootstrap=sdl2 --requirements=python2,kivy,pil,docutils,pathlib,html2rest --arch armeabi-v7a - -copy-libs --color=always --storage-dir="/home/user/hostcwd/.buildozer/android/platform/build" --ndk-api=21
【问题讨论】: