【发布时间】:2015-10-22 21:49:11
【问题描述】:
我将 Cython 升级到版本 0.23.4,当我将 .pyx 和 .pxd 文件放在工作目录的子目录中时,我的代码现在会导致 AttributeError。 包含错误的最小示例如下:
工作目录中的主要python文件:
import pyximport;
import os,sys;
pyximport.install()
sys.path.insert(0, os.getcwd()+'/pxd')
sys.path.insert(0, os.getcwd()+'/pyx')
from X import *
xObj = X(5)
pyx/X.pyx(即在子目录pyx/中):
cdef class X:
def __init__(self,var):
self.var = var
pxd/X.pxd(即在子目录 pxd/ 中):
cdef class X:
cdef public int var
运行 Main.py 会出现以下错误:
AttributeError: 'X.X' object has no attribute 'var'
注意,如果我将 X.pyx 和 X.pxd 文件移动到我的工作目录中,代码运行良好。但是由于文件很多,这样做很不方便。
在子目录中有 X.pyx 和 X.pxd 的同时,我可以做些什么来运行代码?
【问题讨论】:
标签: cython subdirectory attributeerror