我正在使用 python 2.7 和 Kivy 的 64x 机器上运行,并为 pyscripter 设置它。
所以我使用了这个stackoverflow问题的第二个答案中的脚本
基本上我进入工具和“编辑启动脚本”并将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()