On Mon, Dec 3, 2012 at 10:35 AM, Amy Anderson <amyla...@gmail.com> wrote: > Dear macports-users, > > I am a new macports, python, and scipy user and I am looking for some help > to troubleshoot an error I have been getting when trying to run a script in > python. The script I am trying to run is called pyCluster ROI and it needs > python, pynifti, scipy, and numpy to run. I have installed all these > programs successfully using macports on Mac OS 10.8. > > > I unarchived the scripts and ran the test script getting this error: > > $ python pyClusterROI_test.py > > Traceback (most recent call last): > > File "pyClusterROI_test.py", line 48, in <module> > > from make_local_connectivity_scorr import * > > File > "/Users/matthewnye/Downloads/pyClusterROI/make_local_connectivity_scorr.py", > line 40, in <module> > > from scipy.sparse.linalg.eigen.arpack import eigen_symmetric > > ImportError: cannot import name eigen_symmetric > > > I have been trying to hunt down what this error may be and it seems that > older versions of scipy might have used > ‘scipy.sparse.linalg.eigen.arpack.eigen symmetric()’ where as new versions > it has been renamed as "scipy.sparse.linalg.eigen.arpack.eigs()." > > > Does anyone know what might be causing this error or if it is a version > problem, is there any way to get an older version of scipy through macports? > Also I have considered installing all these modules through a manual install > but since i am a novice user I did not want to attempt that if there was a > potentially simpler solution.
Woah, woah, woah now. Let's not go down the (more difficult) rabbit hole of installing an older version of a port. For this issue, there is a much easier solution (so please undo all the installations of an older scipy, etc.). After scipy 0.9.0, the function 'eigen_symmetric' was renamed to 'eigsh'. All you have to do is run, $ perl -i -pe 's,eigen_symmetric,eigsh,g' *.py in the pyClusterROI directory and you should get much further along. Alternatively, attached is a patch if you would prefer that, which you can run with, $ patch -p1 < /path/to/eigen_symmetric.patch For reference, I'm able to get to script to run on the test data and produce subject{1,2,…,etc.}.nii.gz. Also, as a bonus, I was able to get this pyClusterROI thing to work with the newer nibabel (which replaces pynifty [macports devs:I'll create a ticket later today to file these]). You can use the attached nibabel.patch to try it out. Though, judging by the age of this script, you might find a suitable replacement here (which is also where the pynifti replacement lives), http://nipy.sourceforge.net Hope that helps!
eigen_symmetric.patch
Description: Binary data
nibabel.patch
Description: Binary data
_______________________________________________ macports-users mailing list macports-users@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo/macports-users