2016-08-17 14 views
2

Windows環境でUbuntuの新しいBashにkivyというPython GUIライブラリ(開発者がhere)を提供する基本的なhello worldアプリケーションを実行しようとしています。以下に示すように、私はmain.pyとしてサンプルコードを保存した:'Hello World' Kivy Appを実行することができません

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() 

私は(何かが権限を必要としている場合、あるいはsudo python main.pypython 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を通過しても、ソフトウェアに関連する問題はありませんでした。私にとっては、これは私が何か間違っていることを示しているので、どんな提案も最も役立ちます。私のUbuntuのバージョンは14.04です。pythonpython3kivy、およびそのすべての依存関係を更新し、kivyアプリケーションが動作したときにGUIを起動するためのXtermプログラムをインストール/正常にテストしました。

コメントの中でいくつかの議論の後、私はインストールの詳細をさらに明確にするために説明します。私は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のために提供される指示に従っとpygameのリンクページに表示されている"common dependencies"を使用して、sudo apt-get installを呼び出します。python-devpython3-devpython-pipなどのすべてのリンクページが表示されます。私はグローバルインストールを望んで以来、私の努力には関係しませんでしたが、私も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」やその他のサンプルアプリケーションが動作し始めました。

関連する問題