在 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 12.04 上使用 Kivy 和 Buildozer 制作 apk