Man*_*rma 5 macos virtualenv python-3.x kivy sdl-2
我按照以下步骤在virtualenv(Mac OSX)中安装了kivy并支持sdl2
$ brew install sdl2 sdl2_image sdl2_ttf sdl2_mixer gstreamer
$ pip install -I Cython
$ USE_OSX_FRAMEWORKS=0 pip install kivy
Run Code Online (Sandbox Code Playgroud)
但是当试图运行基本文档代码时
from kivy.app import App
from kivy.uix.gridlayout import GridLayout
from kivy.uix.label import Label
from kivy.uix.textinput import TextInput
class LoginScreen(GridLayout):
def __init__(self, **kwargs):
super(LoginScreen, self).__init__(**kwargs)
self.cols = 2
self.add_widget(Label(text='User Name'))
self.username = TextInput(multiline=False)
self.add_widget(self.username)
self.add_widget(Label(text='password'))
self.password = TextInput(password=True, multiline=False)
self.add_widget(self.password)
class MyApp(App):
def build(self):
return LoginScreen()
if __name__ == '__main__':
MyApp().run()
Run Code Online (Sandbox Code Playgroud)
我收到了以下错误
[INFO ] [Logger ] Record log in /Users/manthansharma/.kivy/logs/kivy_16-08-25_68.txt
[INFO ] [Kivy ] v1.9.1
[INFO ] [Python ] v3.5.2 (default, Aug 16 2016, 05:35:40)
[GCC 4.2.1 Compatible Apple LLVM 7.3.0 (clang-703.0.31)]
[INFO ] [Factory ] 179 symbols loaded
[INFO ] [Image ] Providers: img_tex, img_imageio, img_dds, img_gif (img_pygame, img_pil, img_ffpyplayer ignored)
[CRITICAL ] [Text ] Unable to find any valuable Text provider at all!
pygame - ImportError: No module named 'pygame'
File "/Users/manthansharma/virtualenvs/kivy/lib/python3.5/site-packages/kivy/core/__init__.py", line 59, in core_select_lib
fromlist=[modulename], level=0)
File "/Users/manthansharma/virtualenvs/kivy/lib/python3.5/site-packages/kivy/core/text/text_pygame.py", line 12, in <module>
import pygame
pil - ImportError: No module named 'PIL'
File "/Users/manthansharma/virtualenvs/kivy/lib/python3.5/site-packages/kivy/core/__init__.py", line 59, in core_select_lib
fromlist=[modulename], level=0)
File "/Users/manthansharma/virtualenvs/kivy/lib/python3.5/site-packages/kivy/core/text/text_pil.py", line 8, in <module>
from PIL import Image, ImageFont, ImageDraw
[CRITICAL ] [App ] Unable to get a Text provider, abort.
Run Code Online (Sandbox Code Playgroud)
我也尝试在KIVY_SDL2_PATH中给出sdl2.dylib的路径,但没有得到任何结果,但使用kivy.app工作正常,但我想使用virtualenv
我在我的新 Mac (Sierra) 上也遇到了类似的错误。我遵循了https://github.com/kivy/kivy/issues/4688的建议
并使用命令安装最新版本的 Kivy
USE_OSX_FRAMEWORKS=0 pip install https://github.com/kivy/kivy/zipball/master
这对我有用,Kivy 现在使用 SDL2,而不是寻找 pygame。
以前,我要么需要 pygame,但在调整窗口大小时出现有关“Windows BMP 文件”的错误,或者如果我删除了 pygame,它找不到我用brew 安装的 SDL2。