Hi Malcolm,
On 31/03/15 04:30, Malcolm Cook wrote:
|pip install macs2| works fine to install MACS2 without easyBuild
(c.f. https://github.com/taoliu/MACS/blob/master/INSTALL.rst)
I have only ever done this without virtualenv, thus, my macs2 installs
have always been direct into the system wide python libraries.
“For shame”, you say.
“Good thing you are now using EasyBuild and modules”, you say.
“Alas, there is no easyconfig for MACS”, I say.
So here is what I’m poised to try tomorrow or the next day:
* create an easyconfig for macs2
See Pablo's PR at
https://github.com/hpcugent/easybuild-easyconfigs/pull/1247/files
* based on easyblocks/generic/pythonpackage.py
Yup, that's indeed what you should be using.
* using a toolchain which provides a python. say:
Python/2.7.3-goolf-1.7.20
You should list Python as a dependency, indeed.
Small lingo correct: 'goolf' is the toolchain here.
* possibly(?) modified (somehow?) to provide a compatible NumPy (>= 1.6)
Sure, you can list a particular version of numpy as a separate dependency.
I was forced to do exactly this for ScientificPython a couple of days
ago, since it is no longer compatible with numpy 1.9+.
See
https://github.com/hpcugent/easybuild-easyconfigs/pull/1517/files#diff-d0a0f4fcae6a046e5d36a701c9e03197
.
Do note that usually the Python module already provides a recent numpy
version, since we install several Python libraries right next to Python
itself.
So you should only include a numpy version if you have a good reason to
(being up-to-date with the latest numpy is a reason ;-)).
I appreciate any feedback or pointers to examples or advice on best
practices in this regard.
Now, I want to appreciate best practices for installing such
applications .
My next attempt will be to |eb ImageMagick| (built with
--enable-shared=yes), followed somehow by the perl “Image::Magick”
module, and I welcome similar pointers.
I had to look into ImageMagick myself a while ago, but took the coward
way out and went with a 'non-toolchain' (a.k.a. dummy) installation, see
https://github.com/hpcugent/easybuild-easyconfigs/pull/1522 .
Missing from this easyconfig: a proper toolchain, and probably a long
list of dependencies (I don't need them on our systems, since we have
X11 libs installed by the OS).
It may serve as a starting point for you.
For an example of installing Perl modules, see
https://github.com/hpcugent/easybuild-easyconfigs/blob/master/easybuild/easyconfigs/b/BioPerl/BioPerl-1.6.1-goolf-1.4.10-Perl-5.16.3.eb.
The main magic there is to use the 'PerlModule' easyblock, and to
include Perl itself as a dependency.
regards,
Kenneth