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

Reply via email to