2014-10-01 116 views
0

对Anaconda(和Cython)的新手抱歉。Wrt。 Anaconda Python 3.4和Cython

我使用了Anaconda 64位Python 3.4 Windows。

Anaconda为Cython做了所有这些设置?我有一个名为cy_test.pyx测试代码如下:

import numpy as np 

cpdef double [:] func(): 
    cdef double [:] a = np.arange(10.) 
    return a 

然后,相反的

import pyximport, numpy 
pyximport.install(setup_args={"script_args":["--compiler=mingw32"], "include_dirs":numpy.get_include()}) 

我只需要运行import pyximport; pyximport.install()。然后我可以使用

import test_cy 
a = test_cy.func() 
print(list(a)) 

它只是工作,没有我告诉它包括numpy.get_include()

我的问题是,这是在哪里设置?应该有一个配置文件的地方,对吧?

-Shawn

+0

@Veedrac对不起 - 我改了它,现在只有1个问题。 – 2014-10-01 17:46:34

回答

2

import numpy只是一个普通的进口。除非你这样做,否则Cython不会特别对待它(它不会导入头文件或其他编译时文件),因此没有什么特别的要求。

我非常怀疑Anaconda正在做什么特殊功能。

如果你想配置pyximport,你可以制作一个pxybld文件,such as when you want to support C++ with pyximport

+0

'进口numpy'本身只是一个正规的进口。奇怪的部分是没有必要在'pyximport.install()'中将'n​​p.get_include()'添加到''include_dirs“',如问题所述。 – 2014-10-01 18:15:47

+0

OMG你是对的!我很抱歉,我没有先理解你的答案。我为downvote道歉,一旦允许(2小时后)将取消它。 – 2014-10-01 20:22:31

+0

没有难过的感觉;很高兴我能帮上忙 :)。 – Veedrac 2014-10-01 20:32:42