在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仍然没有使用相同的错误进行编译。
另一次更新
我做了两件事:
build
和dist
。export P4A_kivy_DIR=/path/to/cloned/kivy/
最终创建了dist/default
。
答案 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