首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Sklearn上的Cython构建splitter.pyx (和splitter.pxd,从树文件夹)

使用Sklearn上的Cython构建splitter.pyx (和splitter.pxd,从树文件夹)
EN

Stack Overflow用户
提问于 2016-07-25 17:59:34
回答 1查看 281关注 0票数 0

这可能是一个简单的问题,但我在将_splitter.pyx构建为_splitter.so方面遇到了一些困难(因此我可以尝试进行一些更改)。现在,我正在使用命令构建原始文件:

囊藻-a _splitter.pyx

它会产生以下错误:

编译Cython文件时出错: ..。self.index_to_samples,self.feature_values,end_negative,start_positive) cdef int compare_SIZE_t(const * a,constvoid* b) nogil: ^ _splitter.pyx:1008:34: Expected‘),找到'*’

我尝试了一些改变,比如:

Cython-3 _splitter.pyx

cython -a _splitter.pyx _splitter.pxd

但它只会产生更多的错误。我做错了什么吗?

当它被修复时,我计划使用以下命令:

gcc -shared -pthread -fPIC -fwrapv -O2 -Wall -fno-严格混叠-I/usr/include/python2.7 -o _splitter.so _splitter.c

这是正确的做法吗?

非常感谢你的帮助

编辑:将我的Cython升级到0.24版本。现在,我在几行中得到了以下错误:

编译Cython文件时出错: ..。featuresf_i,featuresf_j = featuresf_j,featuresf_iDraw a随机阈值current.threshold = rand_uniform(min_feature_value,max_feature_value,random_state) ^ _splitter.pyx:1547:65:在没有gil的情况下不允许转换为Python

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-26 04:37:50

尝试升级您的Cython安装。旧版本(< 0.18)不支持const关键字。

请参阅我如何使用康斯特?

答:从Cython 0.18开始,您可以在代码和声明中使用它。 早期版本的Cython不直接支持const,需要使用以下黑客将其编译成C源代码:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38574516

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档