Python-for-Android:编译Cython文件时出错

时间:2014-10-07 15:29:52

标签: cython kivy

在git cloning python-for-android之后,我尝试创建一个发行版:

./distribute.sh -m "kivy"

并没有这种错误:

Error compiling Cython file:
------------------------------------------------------------
...
        vertex_format.last_shader = self
        for i in xrange(vertex_format.vattr_count):
            attr = &vertex_format.vattr[i]
            if attr.per_vertex == 0:
                continue
            attr.index = glGetAttribLocation(self.program, <char *><bytes>attr.name)
                                                          ^
------------------------------------------------------------

kivy/graphics/shader.pyx:448:63: Casting temporary Python object to non-numeric non-Python type

找到this answer,但没有解决我的问题:

sudo apt-get remove --purge cython
sudo pip install cython

我需要特定的Cython版本吗?

谢谢!

更新

感谢@RyanP我尝试了运行:

cython -V
cython shader.pyx

好吧,Cython版似乎没问题:

Cython version 0.21

但是,shader.pyx仍然没有使用相同的错误进行编译。

另一次更新

我做了两件事:

  1. 使用了@inclement建议并删除了builddist
  2. 已使用export P4A_kivy_DIR=/path/to/cloned/kivy/
  3. 最终创建了dist/default

1 个答案:

答案 0 :(得分:6)

我不相信这是为Cython 0.21构建的,但对于Cython 0.20尝试使用cython 0.20安装kivy

  

pip install cython == 0.20

这是一个描述问题的主题

https://mail.python.org/pipermail/cython-devel/2014-October/004210.html