Python 我的许可被拒绝使用Kivy

Python 我的许可被拒绝使用Kivy,python,kivy,Python,Kivy,我正在尝试使用kivy制作应用程序,但我的许可被拒绝。我在kivy网站上以推荐的方式安装了xubuntu,添加了ppa并使用sudo apt get。当我运行应用程序时,GUI会出现,但当我按下一个按钮,该按钮应返回一些文本时,GUI会关闭,我得到一个错误,即我的类“MITMs1”没有“self”属性。我也在使用scapy和python2.7 这里有一个类似的问题,但我的操作系统错误是 OSError: [Errno 13] Permission denied: '/dev/input/even

我正在尝试使用kivy制作应用程序,但我的许可被拒绝。我在kivy网站上以推荐的方式安装了xubuntu,添加了ppa并使用sudo apt get。当我运行应用程序时,GUI会出现,但当我按下一个按钮,该按钮应返回一些文本时,GUI会关闭,我得到一个错误,即我的类“MITMs1”没有“self”属性。我也在使用scapy和python2.7

这里有一个类似的问题,但我的操作系统错误是

OSError: [Errno 13] Permission denied: '/dev/input/event5'
我的全部输出是

[INFO   ] [Logger      ] Record log in /home/ro/.kivy/logs/kivy_15-12-27_25.txt
[INFO   ] [Kivy        ] v1.9.0
[INFO   ] [Python      ] v2.7.6 (default, Jun 22 2015, 17:58:13) 
[GCC 4.8.2]
[INFO   ] [Image       ] Providers: img_tex, img_dds, img_gif, img_sdl2, img_pil (img_ffpyplayer ignored)
[INFO   ] [Factory     ] 173 symbols loaded
[INFO   ] [Text        ] Provider: sdl2
 WARNING: No route found for IPv6 destination :: (no default route?)
[INFO   ] [OSC         ] using <multiprocessing> for socket
[INFO   ] [Window      ] Provider: sdl2(['window_egl_rpi'] ignored)
[INFO   ] [GL          ] OpenGL version <3.0 Mesa 10.3.2>
[INFO   ] [GL          ] OpenGL vendor <Intel Open Source Technology Center>
[INFO   ] [GL          ] OpenGL renderer <Mesa DRI Intel(R) Bay Trail >
[INFO   ] [GL          ] OpenGL parsed version: 3, 0
[INFO   ] [GL          ] Shading version <1.30>
[INFO   ] [GL          ] Texture max size <8192>
[INFO   ] [GL          ] Texture max units <16>
[INFO   ] [Window      ] auto add sdl2 input provider
[INFO   ] [Window      ] virtual keyboard not allowed, single mode, not docked
[INFO   ] [GL          ] NPOT texture support is available
[INFO   ] [ProbeSysfs  ] device match: /dev/input/event5
[INFO   ] [MTD         ] Read event from </dev/input/event5>
[INFO   ] [Base        ] Start application main loop
 Exception in thread Thread-1:
 Traceback (most recent call last):
   File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner
     self.run()
   File "/usr/lib/python2.7/threading.py", line 763, in run
     self.__target(*self.__args, **self.__kwargs)
   File "/usr/lib/python2.7/dist-packages/kivy/input/providers/mtdev.py", line 197, in _thread_run
     _device = Device(_fn)
   File "/usr/lib/python2.7/dist-packages/kivy/lib/mtdev.py", line 131, in __init__
     self._fd = os.open(filename, os.O_NONBLOCK | os.O_RDONLY)
 OSError: [Errno 13] Permission denied: '/dev/input/event5'

[INFO   ] [Base        ] Leaving application in progress...
 Traceback (most recent call last):
   File "skivy.py", line 76, in <module>
     MITMtool().run()
   File "/usr/lib/python2.7/dist-packages/kivy/app.py", line 824, in run
     runTouchApp()
   File "/usr/lib/python2.7/dist-packages/kivy/base.py", line 487, in runTouchApp
     EventLoop.window.mainloop()
   File "/usr/lib/python2.7/dist-packages/kivy/core/window/window_sdl2.py", line 539, in mainloop
     self._mainloop()
   File "/usr/lib/python2.7/dist-packages/kivy/core/window/window_sdl2.py", line 300, in _mainloop
     EventLoop.idle()
   File "/usr/lib/python2.7/dist-packages/kivy/base.py", line 330, in idle
     self.dispatch_input()
   File "/usr/lib/python2.7/dist-packages/kivy/base.py", line 315, in dispatch_input
     post_dispatch_input(*pop(0))
   File "/usr/lib/python2.7/dist-packages/kivy/base.py", line 281, in post_dispatch_input
     wid.dispatch('on_touch_up', me)
   File "_event.pyx", line 699, in kivy._event.EventDispatcher.dispatch (kivy/_event.c:6856)
   File "/usr/lib/python2.7/dist-packages/kivy/uix/behaviors.py", line 163, in on_touch_up
     self.dispatch('on_release')
   File "_event.pyx", line 695, in kivy._event.EventDispatcher.dispatch (kivy/_event.c:6815)
   File "_event.pyx", line 1168, in kivy._event.EventObservers.dispatch (kivy/_event.c:11690)
   File "_event.pyx", line 1052, in kivy._event.EventObservers._dispatch (kivy/_event.c:10730)
   File "/usr/lib/python2.7/dist-packages/kivy/lang.py", line 1465, in custom_callback
     exec(__kvlang__.co_value, idmap)
   File "<string>", line 23, in <module>
   File "skivy.py", line 64, in run_ifconfig
     + '[color=00ff00][i]{0}[/i][/color]'.format(self.ipv6) + '\n\n'
 AttributeError: 'MITMs1' object has no attribute 'self'
[INFO][Logger]记录登录/home/ro/.kivy/logs/kivy_15-12-27_25.txt
[INFO][Kivy]v1.9.0
[INFO][Python]v2.7.6(默认,2015年6月22日,17:58:13)
[GCC 4.8.2]
[信息][图像]提供商:img_-tex、img_-dds、img_-gif、img_-sdl2、img_-pil(img_-ffpyplayer忽略)
[信息][工厂]加载173个符号
[信息][文本]提供商:sdl2
警告:未找到IPv6目标的路由::(没有默认路由?)
[信息][OSC]用于插座
[INFO][Window]提供程序:sdl2(['Window\u egl\u rpi']已忽略)
[信息][GL]OpenGL版本
[信息][GL]OpenGL供应商
[INFO][GL]OpenGL渲染器
[信息][GL]OpenGL解析版本:3,0
[信息][GL]明暗处理版本
[信息][GL]纹理最大大小
[信息][GL]纹理最大单位
[信息][窗口]自动添加sdl2输入提供程序
[信息][窗口]不允许使用虚拟键盘,单模,未对接
[INFO][GL]提供NPOT纹理支持
[INFO][ProbeSysfs]设备匹配:/dev/input/event5
[信息][MTD]从中读取事件
[INFO][Base]启动应用程序主循环
线程1中的异常:
回溯(最近一次呼叫最后一次):
文件“/usr/lib/python2.7/threading.py”,第810行,在引导程序内部
self.run()
文件“/usr/lib/python2.7/threading.py”,第763行,运行中
自我目标(*自我参数,**自我参数)
文件“/usr/lib/python2.7/dist packages/kivy/input/providers/mtdev.py”,第197行,在线程运行中
_设备=设备(_fn)
文件“/usr/lib/python2.7/dist packages/kivy/lib/mtdev.py”,第131行,在__
self._fd=os.open(文件名,os.O_NONBLOCK | os.ordonly)
OS错误:[Errno 13]权限被拒绝:'/dev/input/event5'
[INFO][Base]正在退出应用程序。。。
回溯(最近一次呼叫最后一次):
文件“skivy.py”,第76行,在
MITMtool().run()
文件“/usr/lib/python2.7/dist-packages/kivy/app.py”,第824行,运行中
runTouchApp()
文件“/usr/lib/python2.7/dist packages/kivy/base.py”,第487行,在runTouchApp中
EventLoop.window.mainloop()
mainloop中的文件“/usr/lib/python2.7/dist packages/kivy/core/window/window_sdl2.py”,第539行
self._mainloop()
文件“/usr/lib/python2.7/dist packages/kivy/core/window/window\u sdl2.py”,第300行,在mainloop中
EventLoop.idle()
文件“/usr/lib/python2.7/dist packages/kivy/base.py”,第330行,处于空闲状态
self.dispatch_input()
文件“/usr/lib/python2.7/dist packages/kivy/base.py”,第315行,在dispatch_输入中
发送后输入(*pop(0))
文件“/usr/lib/python2.7/dist packages/kivy/base.py”,第281行,在发送后输入中
wid.dispatch('我在润色时)
文件“_event.pyx”,第699行,在kivy._event.EventDispatcher.dispatch(kivy/_event.c:6856)中
文件“/usr/lib/python2.7/dist-packages/kivy/uix/behaviors.py”,第163行,on\u-touch\u
自我分派(“发布时”)
文件“_event.pyx”,第695行,在kivy._event.EventDispatcher.dispatch(kivy/_event.c:6815)中
文件“_event.pyx”,第1168行,在kivy._event.eventobserver.dispatch(kivy/_event.c:11690)中
文件“\u event.pyx”,第1052行,在kivy.\u event.eventobservators.\u调度(kivy/\u event.c:10730)
文件“/usr/lib/python2.7/dist packages/kivy/lang.py”,第1465行,在自定义回调中
exec(\uuuukVLANG\uuuuuuu.co\u值,idmap)
文件“”,第23行,在
文件“skivy.py”,第64行,在run\u ifconfig中
+'[color=00ff00][i]{0}[/i][/color]'.format(self.ipv6)+'\n\n'
AttributeError:'MITMs1'对象没有属性'self'
我的代码是

from kivy.uix.boxlayout import BoxLayout
from kivy.uix.label import Label
from kivy.uix.button import Button
from kivy.uix.textinput import TextInput
from kivy.lang import Builder
from kivy.app import App
from scapy.all import *
from kivy.uix.scrollview import ScrollView
from kivy.uix.screenmanager import ScreenManager, Screen
from subprocess import check_output

Builder.load_string('''
<MITMs1>:
    BoxLayout:
        BoxLayout:
            orientation: 'vertical'
            id: client_box
            size_hint: 0.5, 1
            spacing: 10
            Label:
                id: device_lbl
                markup: True
                size_hint: 1, 1
                text: 'LABEL! :)'
            TextInput:
                id: iface_name
                size_hint: 1, .2
                text: 'eth0'
                multiline: False
            BoxLayout:
                Button:
                    size_hint: 1, .2
                    text: 'Run Ifconfig'
                    on_release: root.run_ifconfig()
        ScrollView:
            size_hint: 0.5, 1
            do_scroll_x: False
            BoxLayout:
                orientation: 'vertical'
                id: nodes
                size_hint: 1, None

            ''')

class MITMs1(Screen):
    def __init__(self, **kwargs):
        super(MITMs1, self).__init__(**kwargs)

        self.iface_name = self.ids['iface_name']
        self.device_lbl = self.ids['device_lbl']
        self.client_box = self.ids['client_box']
        self.nodes = self.ids['nodes']

    def run_ifconfig(self):

        self.ifconfig = subprocess.check_output(['ifconfig', self.iface_name.text])
        self.iface, self.my_ip, self.MAC, self.Bcast, self.Nmask, self.ipv6 = (self.ifconfig.split()[i] for i in (0, 6, 4, 7, 8, 11))
        self.device_lbl.text = ('[color=00ff00][i][b]My Device[/b][/i][/color]' + '\n\n' + 'Interface: '
        + '[color=00ff00][i]{0}[/i][/color]'.format(self.iface) + '\n\n' + 'IP: '
        + '[color=00ff00][i]{0}[/i][/color]'.format(self.my_ip[5:]) + '\n\n' + 'MAC: '
        + '[color=00ff00][i]{0}[/i][/color]'.format(self.self.MAC) + '\n\n' + 'Bcast: '
        + '[color=00ff00][i]{0}[/i][/color]'.format(self.Bcast[6:]) + '\n\n' + 'Nmask: '
        + '[color=00ff00][i]{0}[/i][/color]'.format(self.Nmask[5:]) + '\n\n' + 'IP: '
        + '[color=00ff00][i]{0}[/i][/color]'.format(self.ipv6) + '\n\n'
)


class MITMtool(App):
    def build(self):
        return sm

sm = ScreenManager()
sm.add_widget(MITMs1(name='MITMs1'))

if __name__=='__main__':
    MITMtool().run()
从kivy.uix.boxlayout导入boxlayout
从kivy.uix.label导入标签
从kivy.uix.button导入按钮
从kivy.uix.textinput导入textinput
从kivy.lang导入生成器
从kivy.app导入应用程序
从斯卡皮来的,都是进口货*
从kivy.uix.scrollview导入scrollview
从kivy.uix.screenmanager导入screenmanager,屏幕
从子流程导入检查输出
Builder.load_字符串(“”)
:
盒子布局:
盒子布局:
方向:“垂直”
id:客户箱
尺寸提示:0.5,1
间距:10
标签:
id:device\u lbl
标记:正确
大小提示:1,1
文本:“标签!:)”
文本输入:
id:iface\U名称
尺寸提示:1.2
文本:“eth0”
多行:False
盒子布局:
按钮:
尺寸提示:1.2
文本:“运行Ifconfig”
发布时:root.run\u ifconfig()
滚动视图:
尺寸提示:0.5,1
是否滚动\u x:False
盒子布局:
方向:“垂直”
id:节点
大小提示:1,无
''')
MITMs1类(屏幕):
定义初始(自我,**kwargs):
超级(MITMs1,自我)。\uuuuu初始值(**kwargs)
self.iface\u name=self.ids['iface\u name']
self.device\u lbl=self.ids['device\u lbl']
self.client\u box=self.ids['client\u box']
self.nodes=self.ids['nodes']
def run_ifconfig(自身):
self.ifconfig=subprocess.check\u输出(['ifconfig',self.iface\u name.text])
self.iface,self.my_ip,self.MAC,self.Bcast,self.Nmask,self.ipv6=(self.ifconfig.split()[i]表示(0,6,4,7,8,11)中的i)
self.device\u lbl.text=('[color=00ff00][i][b]我的设备[/b][i][/color]'+'\n\n'+'i