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

Reply via email to