Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # 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.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants