3wnj9u3 3wnj9u3 - 1 month ago 14
Python Question

P4a Kivy Camera with 2 GUI

I'm a newbie here, so please, be gentle. I'd like to use the kivy built-in android camera, so that after taking the picture, I'd like to use another GUI. The app runs well on Ubuntu, but no camera. When I package it, it is successful, but after installing it immediately crashes.

Here is a snippet:

import kivy
from PIL import Image
from math import trunc
from PIL.ExifTags import TAGS
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.lang import Builder
from kivy.uix.floatlayout import FloatLayout


Builder.load_string("""
<CAM_GUI>:
BoxLayout:
orientation: 'vertical'
Camera:
id: camera
resolution: (960, 1280)
play: False
Button:
text: 'Shoot!'
on_press: root.shoot()
size_hint_y: None
height: '48dp'
<GUI>:
BoxLayout:
orientation: 'vertical'
padding: 10
spacing: 10
BoxLayout:
orientation: 'horizontal'
Image:
id: 1.A
source: 'checks.png'
Image:
id: 1.B
source: 'checks.png'
Image:
id: 1.C
source: 'checks.png'
BoxLayout:
orientation: 'horizontal'
Image:
id: 2.A
source: 'checks.png'
Image:
id: 2.B
source: 'checks.png'
Image:
id: 2.C
source: 'checks.png'
BoxLayout:
orientation: 'horizontal'
Image:
id: 3.A
source: 'checks.png'
Image:
id: 3.B
source: 'checks.png'
Image:
id: 3.C
source: 'checks.png'
BoxLayout:
orientation: 'horizontal'
Image:
id: 4.A
source: 'checks.png'
Image:
id: 4.B
source: 'checks.png'
Image:
id: 4.C
source: 'checks.png'
BoxLayout:
orientation: 'horizontal'
Image:
id: 5.A
source: 'checks.png'
Image:
id: 5.B
source: 'checks.png'
Image:
id: 5.C
source: 'checks.png'
BoxLayout:
orientation: 'horizontal'
Image:
id: 6.A
source: 'checks.png'
Image:
id: 6.B
source: 'checks.png'
Image:
id: 6.C
source: 'checks.png'
BoxLayout:
orientation: 'horizontal'
Image:
id: 7.A
source: 'checks.png'
Image:
id: 7.B
source: 'checks.png'
Image:
id: 7.C
source: 'checks.png'
BoxLayout:
orientation: 'horizontal'
Image:
id: 8.A
source: 'checks.png'
Image:
id: 8.B
source: 'checks.png'
Image:
id: 8.C
source: 'checks.png'
BoxLayout:
orientation: 'horizontal'
Image:
id: 9.A
source: 'checks.png'
Image:
id: 9.B
source: 'checks.png'
Image:
id: 9.C
source: 'checks.png'
BoxLayout:
orientation: 'horizontal'
Image:
id: 10.A
source: 'checks.png'
Image:
id: 10.B
source: 'checks.png'
Image:
id: 10.C
source: 'checks.png'
Button:
text: 'Javit!'
on_press: root.main()
""")

class CAM_GUI(BoxLayout):
def shoot(self):
gui.clear_widgets()
gui.add_widget(GUI(name='mainboxlayout'))


class GUI(BoxLayout):
def main(self):
pass

gui = BoxLayout(orientation='vertical')
gui.add_widget(CAM_GUI(name='camboxlayout'))

class checkApp(App):
def build(self):
return gui


if __name__=='__main__':
app=checkApp()
app.run()


Could you help me, please? Thank you very much in advance! :)

Best Regards,
3wnj9u3

Answer

ImportError: No module named PIL

is somewhere near the end of the log. Put that package into requirements, package again and run then.

For better log (cleaner, shorter) use:

adb logcat -c && adb logcat
<run app>
<app crashes>
Ctrl + C
Comments