首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Kivy buildozer docker:在当前目录中找不到buildozer.spec。放弃

Kivy buildozer docker:在当前目录中找不到buildozer.spec。放弃
EN

Stack Overflow用户
提问于 2020-10-18 20:23:10
回答 1查看 255关注 0票数 0

在根据https://github.com/kivy/buildozer/上的说明构建了一个buildozer Docker之后,我尝试运行它,但得到了一个错误:

代码语言:javascript
运行
复制
kivyproject $ ls
main.py
buildozer.spec
setup.py
[...]
kivyproject $ docker run --volume "$(pwd)":/home/user/hostcwd buildozer android debug
# Ensure build layout
No buildozer.spec found in the current directory. Abandon.

另外,我发现在kivyproject旁边创建了一个名为kivyproject;C的空目录。

怎么一回事?

我通过Git bash shell在Windows上运行。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-18 20:23:10

我的问题是Docker传递给--volume的字符串没有被Git bash shell自动转换成Windows路径,所以Docker期望是这样的:

代码语言:javascript
运行
复制
--volume "c:\...\kivyproject:/home/user/hostcwd"

但得到的是:

代码语言:javascript
运行
复制
--volume "/c/.../kivyproject:/home/user/hostcwd"

解决方案是用cygpath -w包装pwd

代码语言:javascript
运行
复制
kivyproject $ docker run --volume "$(cygpath -w $(pwd))":/home/user/hostcwd buildozer android debug deploy

共享缓存也是一个好主意,这样就不会每次都重新下载SDK和NDK:

代码语言:javascript
运行
复制
kivyproject $ docker run --volume "$(cygpath -w $HOME/.buildozer)":/home/user/.buildozer --volume "$(cygpath -w $(pwd))":/home/user/hostcwd buildozer android debug deploy

为了解决这个问题,我将Dockerfile的最后一行从ENTRYPOINT ["buildozer"]更改为ENTRYPOINT ["bash"],然后我可以运行docker run --volume [...] -it bulldozer,获取一个shell并查看它是否看到一个空目录。然后,我注意到在我的工作目录旁边创建了一个名为workingdirname;C的目录,怀疑是cygwin路径恶作剧。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64413240

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档