-
Notifications
You must be signed in to change notification settings - Fork 1
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
Lockfiles #14
Comments
Fun fact I just discovered: In principle we can specify all dependencies in |
This is a useful fun fact that would have immediate wider value! The current minimal approach to Even if the model is likely to be deprecated, bound to be similar scenarios occurring. The other project where there are choice of |
Very useful little blog this! Thanks for sharing as always :) |
If I've understood what conda-lock is doing correctly, I used to do something similar with |
Hey @mattjbr123 that sounds entirely reasonable and probably works fine in 99% of cases, but I don't think it's entirely bullet proof. I could be wrong wouldn't expect it to skip the solve step, cos there's still a chance the file was created from a broken environment and how would it know without solving the environment first to check? Apart from that, the issue with I'm definitely a fan of what conda is trying to do with standardising environments but comments like this one make me want to disengage! |
Reading this comment by one of the (main?) The main things relevant to us are:
So I'm planning to keep an eye on this and will report back! |
I tried to incorporate I've found it ok in the distant past when I only used I'm inclined to keep using simple python-specific tools/lockfiles and just accept that environments are non-reproducible at the level of cuda etc. |
The extended self-dialogue in the comments on #26 offers an interesting learning experience that others won't have to go through! I suggest we close this as a wont-fix |
Lockfiles contain a list of all the dependencies, both direct and indirect, of a package, pinned to exact versions. They are necessary though not sufficient for fully reproducible environments.
Another advantage of creating an environment from a lockfile is that you skip the often slow solving step, which is particularly annoying when you have to do it multiple times because one of the packages has introduced a bug (e.g. in a recent update) which you haven't yet spotted.
Obviously if you're developing a package that you want to support over a wide range of package versions then you might not be so interested in avoiding these kinds of problems, but I think we are more interested in experimenting with the science right now so I don't immediately see a downside of locking our dependencies.
I would have liked to introduce
conda-lock
in #13 but unfortunately this does not seem possible while we depend onplankton-cefas-scivision
.Another option is abandoning conda and using pip to install everything, but I don't expect that to be popular, nor am I really pushing it.
One of the more likely ways out of this is that we no longer depend on
plankton-cefas-scivision
, e.g. if we were to train our own model or if Turing come out with a new offering.The text was updated successfully, but these errors were encountered: