-
Notifications
You must be signed in to change notification settings - Fork 284
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Easyblocks for Anaconda and Conda Env #950
Conversation
@jerowe do you have example easyconfigs for these too? if so, please open a PR for those too (and refer to this PR as a requirement in the PR description) |
@cfenoy Would you have some time to take a look at this? |
…g instead of through requirements.txt
Configs are now here: easybuilders/easybuild-easyconfigs#3337 Dropbox ruined my morning. |
Hi there. I've been on vacation and dropped the ball on this. I'm going to go over the comments. I know I needed to add more files for tests, so I will get on that. In regards to changing 'EB_anaconda' to just 'anaconda', when I try that it doesn't find the module. I would imagine that is because I'm running it in dev mode with
? |
@jerowe why would you want to change the class name to just |
I may have misread that. In any case I didn't change it. ;) On Aug 11, 2016 5:19 PM, "Kenneth Hoste" [email protected] wrote:
|
I think it was that my configs should have
Instead of
But when I try this I get an error saying the easyblock is not found. |
@jerowe easyblocks that do not start with However, it's better to rely on the automagic derivation of which easyblock should be used based on the software name in this case imho ( |
Thanks for the clarification. I think I get it now! On Thu, Aug 11, 2016 at 10:55 PM Kenneth Hoste [email protected]
|
I had one other question I forgot to ask. In each of these modules, Anaconda, CondaCreate, and CondaEnv, I have a few functions that are the same, such as post_install_cmd. Where would be a good place to put these? Since they are all specific to the anaconda module should they just go there? I don't like having duplicate functionality hanging out in there, but I wasn't sure where would make the most sense to put it. |
@jerowe I think it makes sense to add them in the Anaconda easyblock, and then either import those functions in the other easyblocks, or use inheritance to derive Let me know if this makes sense. |
1st cleanup pass for Anaconda easyblock
@boegel , I don't want to be pushy, but is there anything I can do to move this along? We have been using this method in production for our modules since August, and its been marvelous. There is internal documentation on the process, but I've been holding off on public documentation until these blocks are a part of easybuild core. If you go here you will see that we have a build process that goes from conda env config -> easyblock config. As you can see, easybuild has become a huge part of our infrastructure. ;-) For my part I will take a closer look at the changes you made to the anaconda block, and see if I can figure out some ways to clean up the CondaCreate and CondaEnv blocks. |
@jerowe Don't worry about coming over as pushy, I appreciate that people bump PRs that are open for a while and are (still) very valuable to get merged. |
…ivial run_cmd wrappers pre_install_step/post_install_step
@jerowe I gave this another look, there's quite a bit of opportunity for further cleanup imho. See https://github.com/jerowe/easybuild-easyblocks/pull/2/files as another step in the right (according to me) direction. Let me know what you think. I also think the Maybe it's worthwhile to set up a short conf call to discuss this further, e.g. sometime next week? |
rework EB_CondaCreate as generic CondaCreate easyblock, get rid of trivial run_cmd wrappers pre_install_step/post_install_step
@boegel , thanks for taking the time to look things over! I'm really not a python developer, so this is very helpful for me. I could do a conference call. I live in the UAE. Gulf Time Zone. UTC+04:00. Or just google 'time in dubai' ;-) What time zone are you in? So far any day but Thursday is good for me. |
@jerowe I sent you a mail to figure out a good time for a conf call; I may spend some time this weekend on merging together |
merge CondaCreate and CondaEnv easyblocks into a single generic Conda easyblock
don't include activate and deactive in the Anaconda sanity check
minor style cleanup in Anaconda easyblock
Tested thoroughly with easybuilders/easybuild-easyconfigs#3337, good to go now. Thanks a lot of all your work on this @jerowe, and for your patience! |
Here are two easyblocks, referenced here: easybuilders/easybuild-framework#1791
The first, anaconda.py, installs the python distro anaconda as a module.
The second, condacreate.py, uses the conda create utility to create a conda environment, and optionally installs requirements into that environment. http://conda.pydata.org/docs/using/envs.html
Acknowledgements This work is being sponsored by NYU Abu Dhabi Center for Genomics and Systems Biology