集成cython和python Spyder anaconda

集成cython和python Spyder anaconda,python,loops,cython,spyder,Python,Loops,Cython,Spyder,我是python和Spyder的新手,我正在尝试对for循环进行Cythonization。我使用的是anaconda navigator中的Spyder 3.2.7,所以我只需按下绿色三角形按钮即可运行代码 我的pyx文件看起来像: import numpy as np def saluti(): print('hello world') def new_sum(double[:] X, double[:] beta, double[:,:] theta): cdef int

我是python和Spyder的新手,我正在尝试对for循环进行Cythonization。我使用的是anaconda navigator中的Spyder 3.2.7,所以我只需按下绿色三角形按钮即可运行代码

我的pyx文件看起来像:

import numpy as np

def saluti():
  print('hello world')

def new_sum(double[:] X,  double[:] beta, double[:,:] theta):

  cdef int N = X.shape[0]
  cdef double[:] Y = np.zeros(N)
  cdef int i, j

  for i in range(N):
      for j in range(i):
          Y[i] += beta[j] * np.exp(-theta[i, j]*(X[i] - X[j]))
  return Y
而我的py文件:

import numpy as np

import pyximport
pyximport.install()

from prova_cythonn import saluti, new_sum

def old_sum (x, beta, theta):
  N = x.shape[0]
  y = np.zeros(N)
  for i in range(N):
     for j in range(i):
         y[i] = y[i] + beta[j]*np.exp(-theta[i, j]*(x[i] - x[j]))
  return y

... do stuff (like print(np.sum(old_sum) or print(np.sum(new_sum)) ...
仅导入“sallti”时,我没有收到任何错误,并获得在Ipython控制台中打印的“hello world”消息。如果我尝试导入新的求和函数 ImportError:无法导入名称“new\u sum”
在我看来,问题在于,如果我在启动py时修改并保存pyx节省的内容不被“读取”

您是否可以编辑该问题以包含您收到的确切错误消息?我想答案是:既然已经有人问过,我是否应该删除它?可能是这样。也可以将其标记为副本,但删除它可能更容易