无法通过 MinGW 安装 Kiviy

Cannot install Kiviy by MinGW

我想通过 MinGW 编译器安装 Kivy 模块,但出现以下错误:

NameError: global name 'no_cygwin' is not defined

我是 运行 Windows 7 64 位和 Python 2.7

我应该怎么做才能解决这个问题?

作为下载 kivy 分发 zip 文件的替代方法,您可以将 kivy 要求安装到现有的 32 或 64 位 Python 安装中。

在 www.lfd.uci.edu/~gohlke/pythonlibs/#kivy

处提供了一个非官方的预构建二进制文件 windows 安装程序

否则,您可以按照以下说明从源代码构建 kivy:

对于此示例,我们假设您在 `

中安装了 Python
C:\dev\python27:

您需要安装 MinGW。您可以使用 kivy 发行版中包含的 MinGW 目录或下载新的 MinGW。如果您正在为 64 位编译,则需要下载 64 位 MinGW(有关如何设置 64 位 mingw,请参见此处)。

如果你想使用gstreamer,从kivy分发目录复制它。

从 kivy 发行版中获取 kivy.bat 文件,或者像在 kivy.bat 文件中一样设置路径和其他环境变量以获得永久设置。您必须在此环境中执行以下指令。

您需要先编辑路径以指向正确的 python 和 MinGW 位置。如果您从干净的 MinGW 安装开始,如果您要进行任何 kivy 开发,您还必须将 make.exe 的位置添加到路径中。

下载并安装 distutils 和 pip。您可以使用来自 www.pip-installer.org/en/latest/installing.html.

的 ez_setup.py 和 get_pip.py 文件进行安装

C:\dev\python27\Lib\distutils 中创建一个空的 distutils.cfg 文件。在文件类型中:

[build]
compiler=mingw32

通过键入以下内容下载并安装 cython:

pip 安装 cython 从 www.sourceforge.net/projects/glew/files/glew/ 下载 Glew 1.5.7。将 Glew 文件安装到以下位置:

glew32.dll -> C:\dev\python27
glew32.dll -> MinGW\lib
glew32.lib -> MinGW\lib
glew32s.lib -> MinGW\lib
glew.h -> MinGW\include\GL
glxew.h -> MinGW\include\GL
wglew.h -> MinGW\include\GL

如果在安装kivy时出现GL/glew.h: No such file or directory这样的错误,64位mingw很可能出现这种情况,你需要复制GL目录及其内容到 python27/include,*.dll 和 *.lib 文件从上面到 python27/libs。如果仍然出现错误,请键入以下内容以生成 .a 文件:

cd C:\dev\Python27\libs
rename glew32.lib old_glew32.lib
rename glew32s.lib old_glew32s.lib
gendef glew32.dll
dlltool --dllname glew32.dll --def glew32.def --output-lib libglew32.a

从 www.lfd.uci.edu/~gohlke/pythonlibs/#pygame.

下载并安装预编译的 Pygame 1.9.2 二进制文件

最后,要安装最新的 kivy,请输入:

pip install https://github.com/kivy/kivy/zipball/master

或者,您可以指向特定的 kivy zip 文件,而不是 githup zipball。此外,如果你有 kivy 的开发版本,并且想在安装它的同时继续使用它,你可以使用 pip --editable 开关,例如:

pip install --editable C:\dev\kivy

这将在指向您的 kivy 源的 site-packages 目录中放置一个 link,因此源中的任何更改都将反映在安装中。有关详细信息,请参见此处:www.pythonhosted.org/setuptools/setuptools.html#development-mode.