[SciPy-user] Weave woes

Angus McMorland amcmorl@gmail....
Sat Aug 18 20:20:17 CDT 2007


On 19/08/07, Angus McMorland <amcmorl@gmail.com> wrote:
> Hi all,
>
> On 19/07/07, Paul-Michael Agapow <scipy-pma@agapow.net> wrote:
> > I've got errors installing and using weave, that persist across different
> > installations and Python versions.  My google-fu has failed me and an
> > identical error reported on the mailing list some time ago went unanswered.
> >
> > Symptoms: First I installed weave from svn into Python2.5 and ran
> > weave.test():
> >
> >      Found 1 tests for weave.ast_tools
> >      [...snip...]
> >      Found 26 tests for weave.catalog
> >    building extensions here:
> > /Users/agapow/.python25_compiled/m3
> >      [...snip...]
> >      Found 3 tests for weave.standard_array_spec
> >
> > /Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/weave/tests/test_wx_spec.py:16:
> > DeprecationWarning: The wxPython compatibility package is no longer
> > automatically generated or activly maintained.  Please switch to the wx
> > package as soon as possible.
> >      import wxPython
> >      Found 0 tests for weave.wx_spec
> >      Found 0 tests for __main__
> >    ...warning: specified build_dir '_bad_path_' does not exist or is not
> > writable. Trying default locations
> >    .....warning: specified build_dir '_bad_path_' does not exist or is not
> > writable. Trying default locations
> >    ............................removing
> > '/tmp/tmptBN1Qxcat_test' (and everything under it)
> >    .removing '/tmp/tmpY2WiLfcat_test' (and everything under it)
> >
> > ..............................F..F.............................................................
> >
> > ======================================================================
> >    FAIL: check_1d_3
> > (weave.tests.test_size_check.test_dummy_array_indexing)
> >
> > ----------------------------------------------------------------------
> >    Traceback (most recent call last):
> >      File
> > "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/weave/tests/test_size_check.py",
> > line 168, in check_1d_3
> >        self.generic_1d('a[-11:]')
> >      File
> > "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/weave/tests/test_size_check.py",
> > line 135, in generic_1d
> >        self.generic_wrap(a,expr)
> >      File
> > "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/weave/tests/test_size_check.py",
> > line 127, in generic_wrap
> >        self.generic_test(a,expr,desired)
> >      File
> > "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/weave/tests/test_size_check.py",
> > line 123, in generic_test
> >        assert_array_equal(actual,desired, expr)
> >      File
> > "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/numpy/testing/utils.py",
> > line 223, in assert_array_equal
> >        verbose=verbose, header='Arrays are not equal')
> >      File
> > "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/numpy/testing/utils.py",
> > line 215, in assert_array_compare
> >        assert cond, msg
> >    AssertionError:
> >    Arrays are not equal
> >    a[-11:]
> >    (mismatch 100.0%)
> >     x: array([1])
> >     y: array([10])
> >
> >
> > ======================================================================
> >    FAIL: check_1d_6
> > (weave.tests.test_size_check.test_dummy_array_indexing)
> >
> > ----------------------------------------------------------------------
> >    Traceback (most recent call last):
> >      File
> > "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/weave/tests/test_size_check.py",
> > line 174, in check_1d_6
> >        self.generic_1d('a[:-11]')
> >      File
> > "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/weave/tests/test_size_check.py",
> > line 135, in generic_1d
> >        self.generic_wrap(a,expr)
> >      File
> > "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/weave/tests/test_size_check.py",
> > line 127, in generic_wrap
> >        self.generic_test(a,expr,desired)
> >      File
> > "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/weave/tests/test_size_check.py",
> > line 123, in generic_test
> >        assert_array_equal(actual,desired, expr)
> >      File
> > "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/numpy/testing/utils.py",
> > line 223, in assert_array_equal
> >        verbose=verbose, header='Arrays are not equal')
> >      File
> > "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/numpy/testing/utils.py",
> > line 215, in assert_array_compare
> >        assert cond, msg
> >    AssertionError:
> >    Arrays are not equal
> >    a[:-11]
> >    (mismatch 100.0%)
> >     x: array([9])
> >     y: array([0])
> >
> > I'm uncertain if the "__bad_path__" message is important, but the two errors
> > may relfect issues with numpy (v1.0.1). I installed weave into Python2.4 for
> > identical symptoms. I then installed the whole Scipy package just to be sure
> > (weave 0.4.9, numpy 1.0.4.dev3882). No change.
> >
> > Along the way - mindful that maybe the tests were broken - I tried out a
> > simple line of weave::
> >
> >    >>> a = 1; weave.inline('printf("%d\\n",a);',['a'])
> >
> > which gave::
> >
> > Traceback (most recent call last):
> >   File "<stdin>", line 1, in <module>
> >   File
> > "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/weave/inline_tools.py",
> > line 325, in inline
> >     results =
> > attempt_function_call(code,local_dict,global_dict)
> >   File
> > "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/weave/inline_tools.py",
> > line 375, in attempt_function_call
> >     function_list =
> > function_catalog.get_functions(code,module_dir)
> >   File
> > "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/weave/catalog.py",
> > line 611, in get_functions
> >     function_list = self.get_cataloged_functions(code)
> >   File
> > "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/weave/catalog.py",
> > line 524, in get_cataloged_functions
> >     cat = get_catalog(path,mode)
> >   File
> > "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/weave/catalog.py",
> > line 294, in get_catalog
> >     or os.path.exists(catalog_file):
> >   File
> > "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/posixpath.py",
> > line 171, in exists
> >     st = os.stat(path)
> > TypeError: coercing to Unicode: need string or buffer, NoneType found
> >
> >
> > Any ideas on what to try next? (Technical details: MacOSX 10.4.10 Intel
> > macBook,  gcc 4.0.1.)
> >
> >
> > --
> > Dr Paul-Michael Agapow: VieDigitale / Inst. for Animal Health
> > pma@viedigitale.com / paul-michael.agapow@bbsrc.ac.uk
>
> Was a resolution to these problems ever found? I'm having exactly the
> same problems on a debian box running numpy 1.0.3 and scipy
> 0.5.3.dev2698, and python 2.4.4. Any suggestions to get things going
> would be appreciated.
>
> Thanks,

Never mind, I've answered my own question.

In case anyone else is need of the solution, the problem is that weave
is expecting to find a folder ~/.python24_compiled/m1, but this
doesn't exist and doesn't get created automatically. After manually
creating the folder, the inine print command run okay.

The other two failed tests are still present, but clearly represent a
separate problem.

Cheers,

A.
-- 
AJC McMorland, PhD Student
Physiology, University of Auckland


More information about the SciPy-user mailing list