[pymvpa] MacPorts and pymvpa
James Kyle
jameskyle at ucla.edu
Mon Jan 12 16:47:53 UTC 2009
>> First, a thanks to the developers for all the work on what promises
>> to
>> be a very fun python library.
> have you tried it? is it fun? ;)
Only a bit, the fun is going to come from scripting in something other
than matlab. :D
>> I took on the task of creating a MacPorts Portfile for pymvpa. Here's
> cool! Michael has prepped the install for MacOS X but I guess portfile
> should be more native, thus easier to install for mac users.
It provides a nice level of package management and eliminates the need
to track down some of the optional dependencies.
>> -) removed references to svm_set_verbosity as this function was not
>> in
>> the 2.88 version of libsvm
> hm... indeed - we relied too much on the patched (with those
> svm_set_verbosity exposed in Python) Debian shipped version, which
> we also provided under 3rd/libsvm and which should be built/installed
> whenever you build/install pymvpa (using Makefile though).
>
>
> Is there 'original' port of libsvm which should be preferable over
> the patched one we ship?
There's a libsvm package already in macports. The recommended way to
build packages is against libraries installed by the ports system. So
I was faced with patching the libsvm source or the pymvpa source. I
went with pymvpa for expediencies sake since pushing a patch upstream
to the libsvm maintainer would have taken a while to be approved.
> And where does it actually fail? set_verbosity is available in API
> since
> 2.84, so if you use our svmc.i while building -- everything should be
> smooth, or am I missing something?
It's missing from the 2.88 source found here: http://www.csie.ntu.edu.tw/~cjlin/libsvm/
It fails during the build_ext of the libsvm wrapper module with:
error: ‘svm_set_verbosity’ was not declared in this scope
> For now I just added additional check in externals if actually used
> svmc
> (committed and pushed) has that function available, but since we are
> building custom swig interface, I guess, there is no much use for
> it...
>
>> -) Added mvpa.support to the setup.py module install list, it was
>> missing and the first tutorial threw an error.
> my bad -- I was the one who refactor to have mvpa.support but
> forgotten
> to add it to setup.py
>
> Fixed in my branch (yoh/master) and maint/0.4
>
>> The port has the following variants (optional support):
>
>> -) pynifti
>> -) scipy
>> -) hcluster
>> -) libsvm
>
> There is no yet
> shogun
* Added: I had to make the shogun port first ;)
>
> pywt
* Added: Had to submit a pywavelet port
>
> matplotlib/pylab
* Added matplotlib
>
>
> available in ports?
>
>> As always, if any of the developers object to my submission I will
>> remove it quickly.
>
> hm... why we should? ;) is it still released under expat (MIT)
> license? ;-) are copyright holders statements preserved? then license
> is not violated and we only would vote 'go ahead'! We would also
> prefer
> if you somehow point to the available sources of the project (if those
> aren't natively provided with the port, pardon my ignorance on this
> subject)
The pymvpa site is noted in the info and description parts of the port.
>
>
>> The port isn't live yet (usually takes a day or
>> so), but if anyone can't wait I'll gladly email the ports for use
>> in a
>> local overlay.
> After it is available, it would be great if you sent us a patch
> against
> doc/installation.txt where you would describe availability of
> portfiles... or just sent a statement describing it so we could add
> it into documentation.
>
> If you feel that you might provide numerous patches/improvements --
> don't hesitate to ask, and we will set you up with 'commit' rights, or
> in git terms it better be, rights to push, since you are allowed to
> commit locally whenever you like ;)
> keep in touch
Will do.
I have one question, currently I'm pulling the source from the master
branch. I assume this branch is fairly volatile. Above you mention
"maint/0.4" branch. Would the "main/\d.\d" branches be maintenance
branches? It's best to pull from versioned/point release branches or
tags if possible.
==One last thing....promise :) ===
Whne runing through the tutorials to test my installation, I ran into
an error in the Getting Started Tutorial. Specifically, when creating
a NiftiDataset the examples pass the nifti extension which produces an
error. Cross referencing with pynifti API, I discovered that the
extension should be left off, e.g.:
> dataset = NiftiDataset(samples='data/bold', labels=attr.labels,
> chunks=attr.chunks, mask='data/mask')
Cheers,
-james
More information about the Pkg-ExpPsy-PyMVPA
mailing list