Skip to content
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

refactor: explicit channels in conda env ymls #7

Closed
wants to merge 8 commits into from

Conversation

MaciejSkrabski
Copy link
Contributor

Hi! You may have noticed that, when creating a new conda environment from *.yml file, it takes ages to solve package dependencies.
I attempt to speed the process up by explicitly defining channel in which to search for a package. I also defined minimal pandas version to be 1.4.1 - the things were weird before that. I also allow for python versions newer than 3.7.13 and I believe you'll find it acceptable.

Please let me know if this is in any way helpful.

Define channels from which to get the packages;
This could decrease solving time;

Remove default channel - everything in conda-forge is
better anyway.
Be explicit about channels in conda env yml files.
Use conda package instead of pip whenever possible.
torchdiffeq on PyPI is in 0.2.3 and on conda-forge 0.2.2.
This makes a huge difference!
@MaciejSkrabski MaciejSkrabski deleted the conda-env branch July 22, 2022 11:53
@WenjieDu
Copy link
Owner

Hi Maciej,

Yes, I noticed that building an environment for PyPOTS does take some time. So your PR looks helpful indeed. Thank you for your idea!

But GitHub auto-testing met errors with your PR. Please check it out here.

@MaciejSkrabski
Copy link
Contributor Author

Yeah, I noticed that so i closed the PR and am working on fixing it :)

@WenjieDu
Copy link
Owner

Cool. Please reopen your PR when you think it's ready. Then we can run a test to see if your commits can speed up the process of environment building.

@MaciejSkrabski
Copy link
Contributor Author

If the tests pass, we could probably speed it up a lot by determining possible version range per package, but I guess that would make us conda dependency resolvers 😉

@WenjieDu
Copy link
Owner

This commit works fine. You can try to specify the version of each package to see how much it can speed up. 👀

Freeze all explicitly mentioned packages to test max
potential installation time gain from determining
version range of each dependency
@MaciejSkrabski
Copy link
Contributor Author

I froze the test env, each package with one version explicitly set. If the time gain is not huge I don't think it is worth testing each dependency and searching for minimal requirements.

@MaciejSkrabski
Copy link
Contributor Author

MaciejSkrabski commented Jul 22, 2022

The tests failed, i capitulate 😭 🏳️

@WenjieDu WenjieDu assigned WenjieDu and unassigned WenjieDu Jul 22, 2022
i tried creating environment_test.yml with python3.7.13 in mind;
let's see if the tests pass this time.
@MaciejSkrabski
Copy link
Contributor Author

last try with versions that conda found for me with python3.7.13

@WenjieDu
Copy link
Owner

No worries. I'll give your idea a try by myself when I have time 😃. I add this idea in GitHub Discussion, you can check it out here #8
Many thanks for your suggestion and your efforts ;-)

@WenjieDu
Copy link
Owner

WenjieDu commented Apr 4, 2023

I'm closing this PR due to the problem has been solved in the latest release v0.0.10. Please feel free to reopen it if anyone meets the same issue again.

@WenjieDu WenjieDu closed this Apr 4, 2023
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