TransWikia.com

Python Kivy Error

Stack Overflow на русском Asked on November 10, 2021

В общем, решил я написать свою первую программу на Python для Android.
Попробовал создать APK файл командой buildozer android deploy run.

Лог ошибки:

Check configuration tokens

Ensure build layout

Check configuration tokens

Preparing build

Check requirements for android

Run 'dpkg --version'

Cwd None

Debian 'dpkg' package management program version 1.19.0.5 (amd64).

This is free software; see the GNU General Public License version 2 or
later for copying conditions. There is NO warranty.

Search for Git (git)

-> found at /usr/bin/git

Search for Cython (cython)

-> found at /usr/local/bin/cython

Search for Java compiler (javac)

-> found at /usr/lib/jvm/java-11-openjdk-amd64/bin/javac

Search for Java keytool (keytool)

-> found at /usr/lib/jvm/java-11-openjdk-amd64/bin/keytool

Install platform

Run 'git config --get remote.origin.url'

Cwd /home/kivy/Desktop/Python calc/.buildozer/android/platform/python-for-android

https://github.com/kivy/python-for-android.git

Run 'git branch -vv'

Cwd /home/kivy/Desktop/Python calc/.buildozer/android/platform/python-for-android

* master 1b3b0e3f [origin/master] Merge pull request #2225 from kivy/release-2020.06.02

Run '/usr/bin/python3 -m pip install -q --user 'appdirs' 'colorama>=0.3.3' 'jinja2' 'six' 'enum34; python_version<"3.4"' 'sh>=1.10; sys_platform!="nt"' 'pep517<0.7.0"' 'toml''

Cwd None

Apache ANT found at /home/kivy/.buildozer/android/platform/apache-ant-1.9.4

Android SDK found at /home/kivy/.buildozer/android/platform/android-sdk

Recommended android's NDK version by p4a is: 19c

Android NDK found at /home/kivy/.buildozer/android/platform/android-ndk-r19c

Check application requirements

Check garden requirements

Compile platform

Run '/usr/bin/python3 -m pythonforandroid.toolchain create --dist_name=myapp --bootstrap=sdl2 --requirements=python3,kivy --arch armeabi-v7a --copy-libs --color=always --storage-dir="/home/kivy/Desktop/Python calc/.buildozer/android/platform/build-armeabi-v7a" --ndk-api=21'

Cwd /home/kivy/Desktop/Python calc/.buildozer/android/platform/python-for-android

Traceback (most recent call last):

File "/usr/lib/python3.6/runpy.py", line 193, in _run_module_as_main

"__main__", mod_spec)

File "/usr/lib/python3.6/runpy.py", line 85, in _run_code

exec(code, run_globals)

File "/home/kivy/Desktop/Python calc/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py", line 1260, in <module>
main()

File "/home/kivy/Desktop/Python calc/.buildozer/android/platform/python-for-android/pythonforandroid/entrypoints.py", line 18, in main
ToolchainCL()

File "/home/kivy/Desktop/Python calc/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py", line 694, in __init__
self.ctx.setup_dirs(self.storage_dir)

File "/home/kivy/Desktop/Python calc/.buildozer/android/platform/python-for-android/pythonforandroid/build.py", line 173, in setup_dirs
raise ValueError('storage dir path cannot contain spaces, please '

ValueError: storage dir path cannot contain spaces, please specify a path with --storage-dir

Command failed: /usr/bin/python3 -m pythonforandroid.toolchain create --dist_name=myapp --bootstrap=sdl2 --requirements=python3,kivy --arch armeabi-v7a --copy-libs --color=always --storage-dir="/home/kivy/Desktop/Python calc/.buildozer/android/platform/build-armeabi-v7a" --ndk-api=21

ENVIRONMENT:

 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:*.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:'

 LESSCLOSE = '/usr/bin/lesspipe %s %s'

 XDG_MENU_PREFIX = 'xfce-'

 LANG = 'en_ZA.UTF-8'

 GDM_LANG = 'en_US'

 DISPLAY = ':0.0'

 GTK_OVERLAY_SCROLLING = '0'

 COLORTERM = 'truecolor'

 JAVA_HOME = '/usr/lib/jvm/java-8-openjdk-amd64'

 XDG_VTNR = '7'

SSH_AUTH_SOCK = '/run/user/1000/keyring/ssh'

 MANDATORY_PATH = '/usr/share/gconf/xubuntu.mandatory.path'

 GLADE_CATALOG_PATH = ':'

 XDG_SESSION_ID = 'c1'

 XDG_GREETER_DATA_DIR = '/var/lib/lightdm-data/kivy'

 USER = 'kivy'

 GLADE_MODULE_PATH = ':'

 DESKTOP_SESSION = 'xubuntu'

 DEFAULTS_PATH = '/usr/share/gconf/xubuntu.default.path'

 QT_QPA_PLATFORMTHEME = 'gtk2'

 PWD = '/home/kivy/Desktop/Python calc'

 HOME = '/home/kivy'

 SSH_AGENT_PID = '1227'

 QT_ACCESSIBILITY = '1'

 XDG_SESSION_TYPE = 'x11'

 XDG_DATA_DIRS = '/usr/share/xubuntu:/usr/share/xfce4:/usr/local/share:/usr/share:/var/lib/snapd/desktop:/var/lib/snapd/desktop:/usr/share'

 XDG_SESSION_DESKTOP = 'xubuntu'

 GLADE_PIXMAP_PATH = ':'

 CLUTTER_BACKEND = 'x11'

 SHELL = '/bin/bash'

 VTE_VERSION = '5202'

 TERM = 'xterm-256color'

 XDG_SEAT_PATH = '/org/freedesktop/DisplayManager/Seat0'

 XDG_CURRENT_DESKTOP = 'XFCE'

 GPG_AGENT_INFO = '/run/user/1000/gnupg/S.gpg-agent:0:1'

 XDG_SEAT = 'seat0'

 SHLVL = '1'

 LANGUAGE = 'en_ZA:en'

 WINDOWID = '60817411'

 GDMSESSION = 'xubuntu'

 LOGNAME = 'kivy'

 DBUS_SESSION_BUS_ADDRESS = 'unix:path=/run/user/1000/bus'

 XDG_RUNTIME_DIR = '/run/user/1000'

 XAUTHORITY = '/home/kivy/.Xauthority'

 XDG_SESSION_PATH = '/org/freedesktop/DisplayManager/Session0'

 XDG_CONFIG_DIRS = '/etc/xdg/xdg-xubuntu:/etc/xdg:/etc/xdg'

 PATH = '/home/kivy/.buildozer/android/platform/apache-ant-1.9.4/bin:/bin:/home/kivy/bin:/home/kivy/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin'

 SESSION_MANAGER = 'local/kivy-complete:@/tmp/.ICE-unix/1245,unix/kivy-complete:/tmp/.ICE-unix/1245'

 LESSOPEN = '| /usr/bin/lesspipe %s'
 _ = '/usr/local/bin/buildozer'

 PACKAGES_PATH = '/home/kivy/.buildozer/android/packages'

 ANDROIDSDK = '/home/kivy/.buildozer/android/platform/android-sdk'

 ANDROIDNDK = '/home/kivy/.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

Сам код

from kivy.app import App
from kivy.uix.gridlayout import GridLayout
from kivy.uix.button import Button
from kivy.uix.widget import Widget
from kivy.uix.label import Label
from kivy.uix.boxlayout import BoxLayout


from kivy.config import Config
from kivy.lang import Builder

Config.set('graphics', 'resizable', 0)
Config.set('graphics', 'width', 400)
Config.set('graphics', 'height', 500)


class CalcApp(App):
    def update_label(self):
        self.lbl.text = self.formula

    def addNumber(self, instance):
        if (self.formula == "0"):
            self.formula = ""
        self.formula += str(instance.text)
        self.update_label()

    def add_operation(self, instance):
        if (str(instance.text).lower() == "x"):
            self.formula += "*"
        else:
            self.formula += str(instance.text)
        self.update_label()

    def calc_result(self, instance):
        self.lbl.text = str(eval(self.lbl.text))
        self.formula = "0"

    def build(self):
        self.formula = "0"
        bl = BoxLayout(orientation='vertical', padding=15)
        gl = GridLayout(cols=4, spacing=3, size_hint=(1, .6))
        self.lbl = Label(text='0', font_size=40, halign="right", valign="center", size_hint=(1, .4), text_size=(400 - 30, 500 * .4 - 30))
        bl.add_widget(self.lbl)

        gl.add_widget(Button(text='7', on_press=self.addNumber, background_color = [1, 1, 1, 1]))
        gl.add_widget(Button(text='8', on_press=self.addNumber, background_color = [1, 1, 1, 1]))
        gl.add_widget(Button(text='9', on_press=self.addNumber, background_color = [1, 1, 1, 1]))
        gl.add_widget(Button(text='x', on_press = self.add_operation, background_color = [.94, .94, .94, 1]))

        gl.add_widget(Button(text='4', on_press=self.addNumber, background_color = [1, 1, 1, 1]))
        gl.add_widget(Button(text='5', on_press=self.addNumber, background_color = [1, 1, 1, 1]))
        gl.add_widget(Button(text='6', on_press=self.addNumber, background_color = [1, 1, 1, 1]))
        gl.add_widget(Button(text='-', on_press = self.add_operation, background_color = [.94, .94, .94, 1]))

        gl.add_widget(Button(text='1', on_press=self.addNumber, background_color = [1, 1, 1, 1]))
        gl.add_widget(Button(text='2', on_press=self.addNumber, background_color = [1, 1, 1, 1]))
        gl.add_widget(Button(text='3', on_press=self.addNumber, background_color = [1, 1, 1, 1]))
        gl.add_widget(Button(text='+', on_press = self.add_operation, background_color = [.94, .94, .94, 1]))

        gl.add_widget(Button(text=',', on_press=self.addNumber, background_color=[.94, .94, .94, 1]))
        gl.add_widget(Button(text='0', on_press=self.addNumber, background_color = [1, 1, 1, 1]))
        gl.add_widget(Button(text='=', on_press = self.calc_result, background_color = [.76, .61, .64, 1]))
        gl.add_widget(Button(text='/', on_press=self.add_operation, background_color=[.205, .207, .208, 1]))

        bl.add_widget(gl)
        return bl


if __name__ == "__main__":
    CalcApp().run()

One Answer

Просто увидел, что в названии папки стоит пробел

Answered by Александр Плетнев on November 10, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP