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

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

>     [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 但它仍然显示错误。

错误发生前终端显示如下:

Are you sure you want to continue [y/n]? y

[INFO]: Recipe build order is ['freetype', 'hostpython3', 'jpeg', 'libffi', 'librt', 'libxml2', 'openssl', 'png', 'sdl2_image', 'sdl2_mixer', 'sdl2_ttf', 'sqlite3', 'libxslt', 'python3', 'sdl2', 'setuptools', 'lxml', 'pil', 'six', 'pyjnius', 'android', 'kivy']

[INFO]: The requirements (bs4, certifi, docx, googlesearch, gtts, hashlib, io, json, kivymd, os, pdf2docx, pypdf2, pytube, random, requests, selenium, ssl, time, urllib, youtubesearchpython) were not found as recipes, they will be installed with pip.

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

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

这会让您更好地了解构建的工作原理..

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