qq_34553081 2018-12-06 03:17 采纳率: 25%
浏览 1083
已结题

kivy开发环境配置问题

我想在centos7上配置kivy的开发环境
我先pip install Cython-0.2.0
然后pip install kivy

from kivy.app import App
from kivy.uix.button import Button

class TestApp(App):
def build(self):
return Button(text='Hello,kivy')

if name == '__main__':
TestApp().run()

在启动的时候报错,下面是启动日志:
[INFO ] [Logger ] Record log in /root/.kivy/logs/kivy_18-12-05_9.txt
[INFO ] [Kivy ] v1.10.1
[INFO ] [Python ] v2.7.5 (default, Oct 30 2018, 23:45:53)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-36)]
[INFO ] [Factory ] 194 symbols loaded
[INFO ] [Image ] Providers: img_tex, img_dds, img_gif (img_pygame, img_pil, img_ffpyplayer ignored)
[CRITICAL] [Text ] Unable to find any valuable Text provider.
pygame - ImportError: No module named pygame
File "/opt/zrj/env/lib/python2.7/site-packages/kivy/core/__init__.py", line 59, in core_select_lib
fromlist=[modulename], level=0)
File "/opt/zrj/env/lib/python2.7/site-packages/kivy/core/text/text_pygame.py", line 12, in
import pygame

pil - ImportError: No module named PIL
File "/opt/zrj/env/lib/python2.7/site-packages/kivy/core/__init__.py", line 59, in core_select_lib
fromlist=[modulename], level=0)
File "/opt/zrj/env/lib/python2.7/site-packages/kivy/core/text/text_pil.py", line 7, in
from PIL import Image, ImageFont, ImageDraw

[CRITICAL] [App ] Unable to get a Text provider, abort.

请各位大佬解惑

  • 写回答

1条回答 默认 最新

  • 亦如风 2018-12-06 04:19
    关注

    一个模块–kivy,kivy是一个开源的,跨平台的Python开发框架,用于开发运用创新的使用顺序。简而言之,这是一个python桌面顺序开发框架(相似wxpython等模块),弱小的是kivy支持linux、mac、windows、android、ios平台,这也是为何开发app需求用到这个模块。虽然kivy是跨平台的,但是想要在不同的平台运用python代码,还需求将python代码打包成对应平台的可执行顺序,好在kivy项目下有个打包工具项目–buildozer,这是官方引荐的打包工具,由于绝对比拟复杂,自动化水平高,其他项目比方:python-for-android也能起到相似的作用,这里不展开引见。需求在pc上装置kivy开发环境,这里演示下mac与linux下的装置进程。install kivy for mac 安装一些依赖包:

    安装cython以及kivy:
    安装完kivy就可以开发app程序了,这里演示下hello-world程序,关于kivy更复杂的用法不是本文重点,后面再成文介绍。创建一个main.py文件。
    创建一个hello.kv文件,写入:main.py是入口函数,定义了一个HelloApp类,该类继承kivy.app;hello.kv文件是kivy程序,相当于定义界面风格等,该文件命名规则为类名小写且去除app。
    经过以上的编码,我创立了本人的第一个python app顺序,该顺序可以间接在mac、linux、windows平台下运转,那麼如何让它在安卓或许苹果手机上运转呢?我们晓得在安卓上运转,需求将其打包成apk装置顺序,因而就需求用到后面提到过的buildozer工具,(buildozer工具可以打包kivy顺序,支持android、ios等),buildozer的装置进程比拟复杂:pip install buildozer

    在python项目目录下运转:buildozer init运转成功将会创立一个配置文件buildozer.spec,可以经过修正配置文件更改app的称号等,然后运转:buildozer android debug deploy run1运转以上命令将会生成跨平台的装置包,可适用安卓、ios等,假如用于安卓,则是应用python-for-android项目。在第一次运转以上命令的时分,会自动在零碎中下载安卓sdk等必要文件。

    评论

报告相同问题?

悬赏问题

  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?