2016-08-17 6 views
2

kiwi라는 Python GUI 라이브러리 (개발자가 here)를 Windows 환경의 새로운 Bash에 제공하기 위해 기본 hello world 앱을 실행하려고합니다. 아래와 같이 나는 main.py과 예제 코드를 저장 한 :'Hello World'Kivy 앱을 실행할 수 없습니다.

import kivy 
kivy.require('1.9.1') # my current kivy version 

from kivy.app import App 
from kivy.uix.label import Label 

class MyApp(App): 

    def build(self): 
     return Label(text='Hello world') 

if __name__ == '__main__': 
    MyApp().run() 

내가 python main.py (또는 sudo python main.py 어떤 권한을 필요로하는 경우) 나는 다음과 같은 오류 얻을 사용이 간단한 응용 프로그램을 실행하려고 :

[INFO ][Logger  ] Record log in /home/jdaymude/.kivy/logs/kivy_16-08-17_3.txt 
[INFO ][Kivy  ] v1.9.1 
[INFO ][Python  ] v2.7.6 (default, Jun 22 2015, 17:58:13) 
[GCC 4.8.2] 
Traceback (most recent call last): 
    File "main.py", line 5, in <module> 
    from kivy.app import App 
    File "/usr/local/lib/python2.7/dist-packages/kivy/app.py", line 319, in <module> 
    from kivy.base import runTouchApp, stopTouchApp 
    File "/usr/local/lib/python2.7/dist-packages/kivy/base.py", line 29, in <module> 
    from kivy.clock import Clock 
    File "/usr/local/lib/python2.7/dist-packages/kivy/clock.py", line 709, in <module> 
    Clock = register_context('Clock', ClockBase) 
    File "/usr/local/lib/python2.7/dist-packages/kivy/context.py", line 83, in register_context 
    instance = cls(*args, **kwargs) 
    File "/usr/local/lib/python2.7/dist-packages/kivy/clock.py", line 436, in __init__ 
    self._start_tick = self._last_tick = self.time() 
    File "/usr/local/lib/python2.7/dist-packages/kivy/clock.py", line 273, in _time 
    raise OSError(_errno, strerror(_ernno)) 
OSError: [Errno 22] Invalid argument 

비슷한 오류가있는 다른 StackOverflow 질문을 찾지 못했고 kivy issue tracker을 통해이 소프트웨어와 관련된 문제가 나타나지 않았습니다. 나에게 이것은 내가 뭔가 잘못하고 있다는 것을 나타내므로 어떤 제안이라도 가장 도움이 될 것입니다. 내 우분투 버전은 14.04입니다. python, python3, kivy 및 모든 종속성을 업데이트했으며, kivy 앱이 작동 할 때 Xterm 프로그램을 설치/테스트하여 GUI를 시작했습니다.

의견에 대한 몇 가지 토론을 마친 후 추가 설명을 위해 설치에 대한 세부 정보를 포함합니다. 나는 kivy에 새로 온 내 모든 기지를 커버하고 싶었다 때문에

sudo add-apt-repository ppa:kivy-team/kivy 
sudo apt-get update 
sudo apt-get install python-kivy python3-kivy 

, 나는 또한 가이드를 설치 어떤 소수의 설치 : 나는 다음 아래로 비등하는는 kivy 개발자가 Installation on Linux에 제공된 지침을 따랐 , python3-dev, python-pipSDL2pygame에 대한 링크 페이지에 표시된 다른 모든 것을 포함하여 sudo apt-get install을 사용하여 "common dependencies"을 호출하십시오. 내가 글로벌 설치를 원했던 이래로 내 노력과는 관련이 없지만, 나는 또한 virtualenv을 사용하기위한 지침을 따르고 또한 같은 오류를 주었다.

+0

로그에 아무 것도 말해 줍니까? 그리고 나는 당신이 이미 당신 디렉토리에 my.kv 파일이 없다는 것을 확인했다고 가정합니다. – EL3PHANTEN

+0

안녕하세요 @ EL3PHANTEN, 로그의 내용은 위에 표시된 출력과 동일하며 형식이 다릅니다. 그러나, 나는'my.kv' 파일이'main.py' 디렉토리에 없다는 것을 알고 있습니다.하지만 초보자도 왜 간단한 앱을 실행해야하는지 알지 못합니다. 내가 가지고 있어야한다고 말하는거야? 아니면 하나가 문제를 일으키는 것입니까? –

+0

아니 그냥 당신이 그것을 가지고 있는지 확인합니다. my.kv라는 파일이있는 경우 앱 이름이 MyApp이므로 자동으로로드됩니다. – EL3PHANTEN

답변

0

해결책이 이미 어딘가에 게시되었는지는 알 수 없습니다. 빠른 Google 검색 결과가 표시되지 않았습니다. 내가 발견 한 해킹은 lib/python2.7/site-packages/kivy/clock.py 파일 (virtualenv에서) 패치입니다. def _get_sleep_obj(): 함수 정의에서 코드를 if True or platform in ('win32', 'cygwin'): 경로로 이동합니다.

이 변경으로 "Hello Word"및 기타 예제 응용 프로그램이 작동하기 시작했습니다.

관련 문제