Thanks. After playing with it for some time, the error went away after I replaced
cimport StructModulePxd with cimport <path.to.pxdfile.>StructModulePxd It seems that the compiler will not find a pxd file with a different name (and no corresponding pyx file) is in the same directory as where you are trying to import it. If I replace the cimport with a fully qualified path then it works. Vineet On Sun, Nov 14, 2010 at 12:25 AM, Robert Bradshaw <[email protected]> wrote: > On Sat, Nov 13, 2010 at 8:45 PM, Vineet Jain <[email protected]> wrote: >> PriceRow is a struct declared in a pxd file. I'm not including it >> since I assumed that declarations from the pxd file are automatically >> included. > > The error below indicates that it's not finding it--could you send us > enough of a source snippet to reproduce this error? > >> l = fcntllock() >> >> def insertSorted(h5pyFile, timeFormatStr, dataRowsPython): >> cdef object[PriceRow] dataRows=dataRowsPython >> cdef PriceRow * dataRowsCython = <PriceRow *>&(dataRows[0]) >> ^ >> ------------------------------------------------------------ >> >> PriceDBCython.pyx:40:9: 'PriceRow' is not a type identifier >> >> Error converting Pyrex file to C: >> ------------------------------------------------------------ >> ... >> >> dbconfig = DeploymentConfig.db >> from pytrade.util.misc import fcntllock >> l = fcntllock() >> >> def insertSorted(h5pyFile, timeFormatStr, dataRowsPython): >> ^ >> ------------------------------------------------------------ >> >> /host/trading/pytrade/modules/pytrade/db/h5py/PriceDBCython.pyx:38:0: >> Compiler crash in IntroduceBufferAuxiliaryVars >> >> ModuleNode.body = StatListNode(PriceDBCython.pyx:20:0) >> StatListNode.stats[15] = StatListNode(PriceDBCython.pyx:38:0) >> StatListNode.stats[0] = DefNode(PriceDBCython.pyx:38:0, >> modifiers = [...]/0, >> name = u'insertSorted', >> num_required_args = 3, >> reqd_kw_flags_cname = '0') >> >> Compiler crash traceback from this point on: >> File "Visitor.py", line 179, in >> Cython.Compiler.Visitor.TreeVisitor.visitchild >> (/tmp/easy_install-jnjvFc/Cython-0.13/Cython/Compiler/Visitor.c:3407) >> File "Visitor.py", line 28, in >> Cython.Compiler.Visitor.BasicVisitor.visit >> (/tmp/easy_install-jnjvFc/Cython-0.13/Cython/Compiler/Visitor.c:1178) >> File >> "/usr/local/lib/python2.6/dist-packages/Cython-0.13-py2.6-linux-x86_64.egg/Cython/Compiler/Buffer.py", >> line 106, in visit_FuncDefNode >> self.handle_scope(node, node.local_scope) >> File >> "/usr/local/lib/python2.6/dist-packages/Cython-0.13-py2.6-linux-x86_64.egg/Cython/Compiler/Buffer.py", >> line 61, in handle_scope >> if entry.type.dtype.is_ptr: >> AttributeError: 'NoneType' object has no attribute 'is_ptr' >> building 'modules.pytrade.db.h5py.PriceDBCython' extension >> _______________________________________________ >> Cython-dev mailing list >> [email protected] >> http://codespeak.net/mailman/listinfo/cython-dev >> > _______________________________________________ > Cython-dev mailing list > [email protected] > http://codespeak.net/mailman/listinfo/cython-dev > _______________________________________________ Cython-dev mailing list [email protected] http://codespeak.net/mailman/listinfo/cython-dev
