在 ubuntu linux 中调试 kivy 应用程序时出现问题,当我尝试调试应用程序时,它开始导入要求,然后显示错误并退出

Posted

技术标签:

【中文标题】在 ubuntu linux 中调试 kivy 应用程序时出现问题,当我尝试调试应用程序时,它开始导入要求,然后显示错误并退出【英文标题】:Problem debugging kivy app in ubntu linux, when i tried to debug the app it started import requirements and then showd the error and exited 【发布时间】:2021-09-20 06:20:22 【问题描述】:
>     [INFO]:    Build freetype (without harfbuzz)
>     [INFO]:    Configure args are:
>             ---without-bzip2
>             ---prefix=/home/bhyry/sciresearcher/CompetitionProject/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/freetype/armeabi-v7a__ndk_target_21/freetype
>             ---host=arm-linux-androideabi
>             ---with-png=no
>             ---with-harfbuzz=no
>             ---with-zlib=yes
>             ---disable-static
>             ---enable-shared
>     [INFO]:    -> directory context /home/bhyry/sciresearcher/CompetitionProject/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/freetype/armeabi-v7a__ndk_target_21/freetype
>     [INFO]:    -> running configure --without-bzip2 --prefix=/home/bhyry/sciresearcher/CompetitionProject/.buildozer/android/platform/build-arme...(and
> 182 more)
>                working: make: *** [builds/unix/detect.mk:91: setup] Error 77                                                              
> Exception in thread background thread for pid 20575:
>     Traceback (most recent call last):
>       File "/usr/lib/python3.8/threading.py", line 932, in _bootstrap_inner
>         self.run()
>       File "/usr/lib/python3.8/threading.py", line 870, in run
>         self._target(*self._args, **self._kwargs)
>       File "/usr/local/lib/python3.8/dist-packages/sh-1.14.2-py3.8.egg/sh.py",
> line 1683, in wrap
>         fn(*rgs, **kwargs)
>       File "/usr/local/lib/python3.8/dist-packages/sh-1.14.2-py3.8.egg/sh.py",
> line 2662, in background_thread
>         handle_exit_code(exit_code)
>       File "/usr/local/lib/python3.8/dist-packages/sh-1.14.2-py3.8.egg/sh.py",
> line 2349, in fn
>         return self.command.handle_command_exit_code(exit_code)
>       File "/usr/local/lib/python3.8/dist-packages/sh-1.14.2-py3.8.egg/sh.py",
> line 905, in handle_command_exit_code
>         raise exc
>     sh.ErrorReturnCode_2:
>     
>       RAN: /home/bhyry/sciresearcher/CompetitionProject/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/freetype/armeabi-v7a__ndk_target_21/freetype/configure
> --without-bzip2 --prefix=/home/bhyry/sciresearcher/CompetitionProject/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/freetype/armeabi-v7a__ndk_target_21/freetype
> --host=arm-linux-androideabi --with-png=no --with-harfbuzz=no --with-zlib=yes --disable-static --enable-shared
>     
>       STDOUT:
>     
>     FreeType build system -- automatic system detection
>     
>     The following settings are used:
>     
>       platform                    unix
>       compiler                    /root/.buildozer/android/platform/android-ndk-r19c/toolchains/llvm/prebuilt/linux-x86_64/bin/clang
> -target armv7a-linux-androideabi21 -fomit-frame-pointer -march=armv7-a -mfloat-abi=softfp -mfpu=vfp -mthumb -fPIC
>       configuration directory     ./builds/unix
>       configuration rules         ./builds/unix/unix.mk
>     
>     If this does not correspond to your system or settings please remove the file
>     `config.mk' from this directory then read the INSTALL file for help.
>     
>     Otherwise, simply type `make -j4' again to build the library,
>     or `make -j4 refdoc' to build the API reference (this needs python >= 2.6).
>     
>     cd builds/unix; \
>             ./configure  '--without-bzip2' '--prefix=/home/bhyry/sciresearcher/CompetitionProject/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/freetype/armeabi-v7a__ndk_target_21/freetype'
> '--host=arm-linux-androideabi' '--with-png=no' '--with-harfbuzz=no'
> '--with-zlib=yes' '--disable-static' '--enable-shared'
>     checking build system type... x86_64-pc-linux-gnu
>     checking host system type... arm-unknown-linux-androideabi
>     checking for arm-linux-androideabi-gcc... /root/.buildozer/android/platform/android-ndk-r19c/toolchains/llvm/prebuilt/linux-x86_64/bin/clang
> -target armv7a-linux-androideabi21 -fomit-frame-pointer -march=armv7-a -mfloat-abi=softfp -mfpu=vfp -mthumb -fPIC
>     checking whether the C compiler works... no
>     configure: error: in `/home/bhyry/sciresearcher/CompetitionProject/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/freetype/armeabi-v7a__ndk_target_21/freetype/builds/unix':
>     configure: error: C compiler cannot create executables
>     See `config.log' for more details
>     make: *** [builds/unix/detect.mk:91: setup] Error 77
>     
>     
>       STDERR:
>     
>     Traceback (most recent call last):
>       File "/usr/lib/python3.8/runpy.py", line 194, in _run_module_as_main
>         return _run_code(code, main_globals, None,
>       File "/usr/lib/python3.8/runpy.py", line 87, in _run_code
>         exec(code, run_globals)
>       File "/home/bhyry/sciresearcher/CompetitionProject/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py",
> line 1260, in <module>
>         main()
>       File "/home/bhyry/sciresearcher/CompetitionProject/.buildozer/android/platform/python-for-android/pythonforandroid/entrypoints.py",
> line 18, in main
>         ToolchainCL()
>       File "/home/bhyry/sciresearcher/CompetitionProject/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py",
> line 709, in __init__
>         getattr(self, command)(args)
>       File "/home/bhyry/sciresearcher/CompetitionProject/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py",
> line 154, in wrapper_func
>         build_dist_from_args(ctx, dist, args)
>       File "/home/bhyry/sciresearcher/CompetitionProject/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py",
> line 213, in build_dist_from_args
>         build_recipes(build_order, python_modules, ctx,
>       File "/home/bhyry/sciresearcher/CompetitionProject/.buildozer/android/platform/python-for-android/pythonforandroid/build.py",
> line 577, in build_recipes
>         recipe.build_arch(arch)
>       File "/home/bhyry/sciresearcher/CompetitionProject/.buildozer/android/platform/python-for-android/pythonforandroid/recipes/freetype/__init__.py",
> line 114, in build_arch
>         shprint(configure, *config_args, _env=env)
>       File "/home/bhyry/sciresearcher/CompetitionProject/.buildozer/android/platform/python-for-android/pythonforandroid/logger.py",
> line 167, in shprint
>         for line in output:
>       File "/usr/local/lib/python3.8/dist-packages/sh-1.14.2-py3.8.egg/sh.py",
> line 953, in next
>         self.wait()
>       File "/usr/local/lib/python3.8/dist-packages/sh-1.14.2-py3.8.egg/sh.py",
> line 879, in wait
>         self.handle_command_exit_code(exit_code)
>       File "/usr/local/lib/python3.8/dist-packages/sh-1.14.2-py3.8.egg/sh.py",
> line 905, in handle_command_exit_code
>         raise exc
>     sh.ErrorReturnCode_2:
>     
>       RAN: /home/bhyry/sciresearcher/CompetitionProject/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/freetype/armeabi-v7a__ndk_target_21/freetype/configure
> --without-bzip2 --prefix=/home/bhyry/sciresearcher/CompetitionProject/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/freetype/armeabi-v7a__ndk_target_21/freetype
> --host=arm-linux-androideabi --with-png=no --with-harfbuzz=no --with-zlib=yes --disable-static --enable-shared
>     
>       STDOUT:
>     
>     FreeType build system -- automatic system detection
>     
>     The following settings are used:
>     
>       platform                    unix
>       compiler                    /root/.buildozer/android/platform/android-ndk-r19c/toolchains/llvm/prebuilt/linux-x86_64/bin/clang
> -target armv7a-linux-androideabi21 -fomit-frame-pointer -march=armv7-a -mfloat-abi=softfp -mfpu=vfp -mthumb -fPIC
>       configuration directory     ./builds/unix
>       configuration rules         ./builds/unix/unix.mk
>     
>     If this does not correspond to your system or settings please remove the file
>     `config.mk' from this directory then read the INSTALL file for help.
>     
>     Otherwise, simply type `make -j4' again to build the library,
>     or `make -j4 refdoc' to build the API reference (this needs python >= 2.6).
>     
>     cd builds/unix; \
>             ./configure  '--without-bzip2' '--prefix=/home/bhyry/sciresearcher/CompetitionProject/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/freetype/armeabi-v7a__ndk_target_21/freetype'
> '--host=arm-linux-androideabi' '--with-png=no' '--with-harfbuzz=no'
> '--with-zlib=yes' '--disable-static' '--enable-shared'
>     checking build system type... x86_64-pc-linux-gnu
>     checking host system type... arm-unknown-linux-androideabi
>     checking for arm-linux-androideabi-gcc... /root/.buildozer/android/platform/android-ndk-r19c/toolchains/llvm/prebuilt/linux-x86_64/bin/clang
> -target armv7a-linux-androideabi21 -fomit-frame-pointer -march=armv7-a -mfloat-abi=softfp -mfpu=vfp -mthumb -fPIC
>     checking whether the C compiler works... no
>     configure: error: in `/home/bhyry/sciresearcher/CompetitionProject/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/freetype/armeabi-v7a__ndk_target_21/freetype/builds/unix':
>     configure: error: C compiler cannot create executables
>     See `config.log' for more details
>     make: *** [builds/unix/detect.mk:91: setup] Error 77
>     
>     
>       STDERR:
>     
>     # Command failed: /usr/bin/python3 -m pythonforandroid.toolchain create --dist_name=Scientifi Researcher --bootstrap=sdl2
> --requirements=python3,kivy,kivymd,youtubesearchpython,selenium,os,time,PIL,requests,hashlib,io,googlesearch,bs4,lxml,json,pytube,PyPDF2,pdf2docx,gTTS,random,docx,ssl,urllib
> --arch armeabi-v7a --copy-libs --color=always --storage-dir="/home/bhyry/sciresearcher/CompetitionProject/.buildozer/android/platform/build-armeabi-v7a"
> --ndk-api=21 --ignore-setup-py
>     # ENVIRONMENT:
>     #     LANG = 'C.UTF-8'
>     #     LS_COLORS = 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:'
>     #     TERM = 'xterm-256color'
>     #     DISPLAY = ':0'
>     #     PATH = '/root/.buildozer/android/platform/apache-ant-1.9.4/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin'
>     #     MAIL = '/var/mail/root'
>     #     LOGNAME = 'root'
>     #     USER = 'root'
>     #     HOME = '/root'
>     #     SHELL = '/bin/bash'
>     #     SUDO_COMMAND = '/usr/local/bin/buildozer -v android debug'
>     #     SUDO_USER = 'bhyry'
>     #     SUDO_UID = '1000'
>     #     SUDO_GID = '1000'
>     #     PACKAGES_PATH = '/root/.buildozer/android/packages'
>     #     ANDROIDSDK = '/root/.buildozer/android/platform/android-sdk'
>     #     ANDROIDNDK = '/root/.buildozer/android/platform/android-ndk-r19c'
>     #     ANDROIDAPI = '27'
>     #     ANDROIDMINAPI = '21'
>     #
>     # Buildozer failed to execute the last command
>     # The error might be hidden in the log above this error
>     # Please read the full log, and search for it before
>     # raising an issue with buildozer itself.
>     # In case of a bug report, please add a full log with log_level = 2

这是有错误的终端代码。我运行 sudo buildozer -v android debug,它导入了一些模块,然后停止并显示错误。我安装了freetype2,它仍然显示错误。

在出现错误之前,终端显示如下:

您确定要继续 [y/n] 吗?是的

[INFO]: 配方构建顺序是 ['freetype', 'hostpython3', 'jpeg', 'libffi', 'librt', 'libxml2', 'openssl', 'png', 'sdl2_image', 'sdl2_mixer '、'sdl2_ttf'、'sqlite3'、'libxslt'、'python3'、'sdl2'、'setuptools'、'lxml'、'pil'、'六'、'pyjnius'、'android'、'kivy']

[INFO]:要求(bs4、certifi、docx、googlesearch、gtts、hashlib、io、json、kivymd、os、pdf2docx、pypdf2、pytube、random、requests、selenium、ssl、time、urllib、youtubesearchpython)没有作为食谱找到,它们将使用 pip 安装。

【问题讨论】:

【参考方案1】:

您的某些需求名称似乎不匹配或找不到它,这里是有关如何确保您拥有为 kivy 构建的这些需求配方的链接。

https://github.com/Android-for-Python/Android-for-Python-Users#requirements

这将使您对构建的工作方式有一个很好的了解..

【讨论】:

我试过了,但它仍然显示错误,当我将要求删除为默认值时,它可以工作,但是,当我在手机上运行应用程序时,它会尝试打开应用程序然后突然关闭,我正在使用 android9 我将与文件共享整个应用程序,所以你可以检查请drive.google.com/file/d/1kH339KgW18s9Ib1hN3to4LOUBuu-AZMd/…【参考方案2】:
requirements = python3,kivy,kivymd,youtubesearchpython,selenium,os,time,PIL,requests,hashlib,io,googlesearch,bs4,lxml,json,pytube,PyPDF2,pdf2docx,gTTS,random,docx,ssl,urllib

您必须仅将第三方模块添加到需求中。

类似的模块

os, random, time

不是第三方模块,这就是您收到错误的原因。

并尝试在 colab 中安装此软件包:

sudo apt-get install automake autoconf libtool libltdl-dev

【讨论】:

以上是关于在 ubuntu linux 中调试 kivy 应用程序时出现问题,当我尝试调试应用程序时,它开始导入要求,然后显示错误并退出的主要内容,如果未能解决你的问题,请参考以下文章

Ubuntu下安装kivy

在 Ubuntu 12.04 上使用 Kivy 和 Buildozer 制作 apk

第一个 Kivy/Buildozer android 项目出错

如何在 android 中调试 kivy 应用程序?

kivy在Android上运行,有人弄过吗

如何在 Ubuntu 中将 kivy 和 python 打包成可执行文件?