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

use >= dependencies #64

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

use >= dependencies #64

wants to merge 1 commit into from

Conversation

alaniwi
Copy link
Collaborator

@alaniwi alaniwi commented Apr 11, 2019

As previously discussed (and I think agreed), use >= in place of == for dependencies to reduce installation difficulties. If an reproducible environment is required, this can be handled separately by conda yml files.

(== does not guarantee a reproducible environment in any case, because it only constrains the top-level link in the dependency chain, not the complete chain.)

In the event of a later known incompatibility with a dependent package, < can be added where necessary. There is no perfect solution, but this problem is likely to be less frequent than the installation problems that can arise with ==.

@sashakames
Copy link
Contributor

We should probably recommend similar changes to other packages related to the publisher, eg. esgfpid and cdf2cim.

@glevava
Copy link
Member

glevava commented Jun 24, 2019

I agree with this. But I'll merge the changes only if the same is done and synchronized with the other packages related to the esgf-pub env. Otherwise, esgprep would be (again) a source of dependencies conflicts during ESGF installation.

@alaniwi
Copy link
Collaborator Author

alaniwi commented Jun 24, 2019

I think that what is necessary to avoid the dependency conflics is not synchronisation with the requirements of the other packages, but rather, ensuring that we have a conda installation procedure which uses an environment yml file containing exact versions of everything (produced using conda env export). Once this is the case, then I think this can be merged, because the exact versions will be controlled by the yml file, and the versions specified in setup.py will only be used for a consistency check.

But I will leave @sashakames to comment on when we have a suitable yml file for installation, because I have not followed the details regarding ESGF installation recently.

Thanks.

@glevava
Copy link
Member

glevava commented Aug 23, 2019

@alaniwi @sashakames For the ongoing esgprep 3.0 I decided to open dependencies version. As it'll required python 3, I will distribute the new esgprep as a conda package and recommended an installation through a dedicated conda env (in the same way as CMOR, QA-DKRZ or synda for instance). Thus esgprep is still installable into the ESGF stack but independently from other tools (like esgcet or cdf2cim) avoiding any version conflicts. Consequently, @alaniwi 's suggestion on >= for dependencies will be apply in the esgprep 3.0.

esgprep 2.9.x would still remain installable in the usual esgf-pub env for backward compatibility.

@alaniwi
Copy link
Collaborator Author

alaniwi commented Aug 23, 2019

@glevava Thank you.

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.

3 participants