1

私はpython 2.7とKivyを搭載した64xマシンで実行しており、pyscripter用にセットアップしています。

したがって、このstackoverflowの質問に対する2番目の回答のスクリプトを使用しました

Pyscripter 内から Kivy プログラムを実行できますか?

基本的に、ツールと「起動スクリプトの編集」にkivy_path移動し、スクリプトを自分のkivyディレクトリに置き換えました。

# This startup script makes it possible to Pyscripter to work with the kivy package

import sys
import os

kivy_path = 'C:/kivy27'
relative_modules_paths = ['/kivy',
                          '/Python/',
                          '/Python/Lib/',
                          '/Python/Lib/Site-packages/',]

# tells the interpreter to look for python modules in the kivy modules' paths
for relative_path in relative_modules_paths:
    sys.path.append( kivy_path+relative_path )

# sets some environment variables needed by kivy. Not permanent.
os.environ['GST_PLUGIN_PATH'] = kivy_path+'/gstreamer/lib/gstreamer-0.10'
os.environ['GST_REGISTRY'] = kivy_path+'gstreamer/registry.bin'

kivy_environ_paths = '{kp};{kp}/Python;{kp}/gstreamer/bin;{kp}/MinGW/bin;'
kivy_environ_paths = kivy_environ_paths.format( kp=kivy_path )

os.environ['PATH'] = kivy_environ_paths

# theorecally your environment variables won't be affected outside the
# interpreter. You can still backup your environment variables if you
# don't feel confident

コード関数を書くことは、これまでのところ Python では問題ありません。(私はまだkivy言語を使用していません)

コードを実行しようとすると、

Message File Name   Line    Position    
Traceback               
    <module>    C:\Users\USER_NAME\Desktop\python\main.py   12      
    <module>    C:/kivy27/kivy\kivy\app.py  321     
    <module>    C:/kivy27/kivy\kivy\base.py 29      
    <module>    C:/kivy27/kivy\kivy\event.py    8       
ImportError: DLL load failed: %1 is not a valid Win32 application.

しかし、それをBATファイルに入れると、問題なく動作します。したがって、Pyscripter のセットアップ コードに何か問題があると推測しています。

ここに私が実行しているコードがあります:

from kivy.uix.scatter import Scatter
from kivy.uix.label import Label
from kivy.uix.floatlayout import FloatLayout

class TutorialApp(App):
    def build(self):
        f = FloatLayout()
        s = Scatter()
        l = Label(text='Hello',
                  font_size=150)
        f.add_widget(s)
        s.add_widget(l)
        return f

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

それは基本的にこのチュートリアルhttps://www.youtube.com/watch?v=F7UKmK9eQLYからです

4

0 に答える 0