Skip to content

Anaconda and Conda Env Part 2#3337

Merged
boegel merged 49 commits intoeasybuilders:developfrom
jerowe:develop
Nov 15, 2016
Merged

Anaconda and Conda Env Part 2#3337
boegel merged 49 commits intoeasybuilders:developfrom
jerowe:develop

Conversation

@jerowe
Copy link
Copy Markdown
Contributor

@jerowe jerowe commented Jul 13, 2016

I had merge conflicts and accidently deleted things:

Here is the original conversation: #3173

Sorry for the confusion!

edit: depends on easybuilders/easybuild-easyblocks#950

@jerowe
Copy link
Copy Markdown
Contributor Author

jerowe commented Aug 11, 2016

Normally I love dropbox, but not being case sensitive is just aggravating.

@jerowe
Copy link
Copy Markdown
Contributor Author

jerowe commented Aug 11, 2016

@cfenoy and @boegel - I closed the last PR and reopened here when dropbox ruined my day. ;-)

@boegel boegel added this to the 3.0 milestone Oct 13, 2016

easyblock = 'EB_CondaCreate'

name = "condacreate-module"
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jerowe I think the name used here should better reflect what is actually being installed...

This should probably be named cpanminus instead?

Does conda support providing a specific version in the requirements? Since as it is now, you have no control over which cpanminus version gets installed (and hence the version field can't be filled in meaningfully)...

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is done in conda with perl-app-cpanminus=1.7039. Or your version number of choice. For larger modules I am very specific with version choices, but for small one off and/or dev environments I'm not. This does not seem to be the easybuild way, but I will bend to your will on this one. ;-)

I was thinking this is a general case to use conda create to create a module. What is being installed does not matter so much as the concept, but we can change it.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's indeed my main concern, sticking to the EasyBuild way in the central repo. Of course you can leverage the functionality as you please using your own set of easyconfigs. :)

The example easyconfig(s) we include here to use the Conda generic easyblock (which we're working towards, I think) should preferably be strict w.r.t. versions, and reflect well what can be done with the Conda easyblock...

Also, I would probably include -Anaconda2-4.0.0 as a versionsuffix, to make it clear that the installation is done on top of Anaconda (and which version of Anaconda), so it can be distinguished from a compile-from-source installation with a particular toolchain, as is usually done with EasyBuild.

#sources = ["environment.yml"]
#environment_file = sources[0]

#remote_environment = "nyuad-cgsb/gencore_variant_detection_1.0"
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jerowe this line can be removed?


#Use one of the following - either an environment.yml file or a remote environment definition
#sources = ["environment.yml"]
#environment_file = sources[0]
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jerowe this should change so that only the last line is needed; the Conda easyblock should just copy environment_file in the right location by itself?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually, no change is needed at all, the requirement is just that environment_file points to the absolute path of the file, otherwise it won't be found.

version = "1.7039"
variant = "Linux-x86_64"

homepage = "http://search.cpan.org/~miyagawa/Menlo-1.9003/script/cpanm-menlo"
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe https://github.com/miyagawa/cpanminus is a better link?

use 'Conda' easyblock + empty version for dummy toolchain + some minor enhancements

builddependencies = [('Anaconda3', '4.0.0')]

preinstallopts = "conda install -f -c conda conda-env=2.5.2 && "
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jerowe please remove this?

Copy link
Copy Markdown
Contributor Author

@jerowe jerowe Nov 15, 2016

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

its not there on mine..

ETA - I was looking at the wrong config. I removed it from gencore.

@boegel
Copy link
Copy Markdown
Member

boegel commented Nov 15, 2016

Test report by @boegel
SUCCESS
Build succeeded for 4 out of 4 (4 easyconfigs in this PR)
node2407.golett.os - Linux centos linux 7.2.1511, Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz, Python 2.7.5
See https://gist.github.com/063f5d8debf7145e7af17fb69eb03ea0 for a full test report.

@boegel
Copy link
Copy Markdown
Member

boegel commented Nov 15, 2016

Test report by @boegel
SUCCESS
Build succeeded for 4 out of 4 (4 easyconfigs in this PR)
node2059.delcatty.os - Linux SL 6.8, Intel(R) Xeon(R) CPU E5-2670 0 @ 2.60GHz, Python 2.6.6
See https://gist.github.com/63ba6fb028a267ad75ba57727fdd8d79 for a full test report.

boegel and others added 2 commits November 15, 2016 12:49
@boegel
Copy link
Copy Markdown
Member

boegel commented Nov 15, 2016

Tested on top of easybuilders/easybuild-easyblocks#950, all good to go, thanks @jerowe!

@boegel boegel merged commit 8f2b196 into easybuilders:develop Nov 15, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants