pangeo-data / xESMF

Universal Regridder for Geospatial Data
http://xesmf.readthedocs.io/
MIT License
189 stars 34 forks source link

Installation of pangeo-xesmf via pip is not possible #240

Closed mplough-kobold closed 1 year ago

mplough-kobold commented 1 year ago

The project distributes the pangeo-xesmf package on PyPI. However, installing this package with pip from either PyPI or from GitHub is not possible.

The following error occurs because esmpy is not distributed on PyPI.

ERROR: Cannot install pangeo-xesmf==0.0.0, pangeo-xesmf==0.4.0, pangeo-xesmf==0.4.0.post0, pangeo-xesmf==0.5.1, pangeo-xesmf==0.5.1.post0, pangeo-xesmf==0.5.2, pangeo-xesmf==0.5.2.post0, pangeo-xesmf==0.5.3, pangeo-xesmf==0.5.3.post0, pangeo-xesmf==0.6.0, pangeo-xesmf==0.6.0.post0, pangeo-xesmf==0.6.1, pangeo-xesmf==0.6.1.post0, pangeo-xesmf==0.6.2, pangeo-xesmf==0.6.3, pangeo-xesmf==0.6.3.post0, pangeo-xesmf==0.7.0 and pangeo-xesmf==0.7.0.post0 because these package versions have conflicting dependencies.

The conflict is caused by:
    pangeo-xesmf 0.7.0.post0 depends on esmpy
    pangeo-xesmf 0.7.0 depends on esmpy>=8.0.0
    pangeo-xesmf 0.6.3.post0 depends on esmpy
    pangeo-xesmf 0.6.3 depends on esmpy>=8.0.0
    pangeo-xesmf 0.6.2 depends on esmpy>=8.0.0
    pangeo-xesmf 0.6.1.post0 depends on esmpy
    pangeo-xesmf 0.6.1 depends on esmpy>=8.0.0
    pangeo-xesmf 0.6.0.post0 depends on esmpy
    pangeo-xesmf 0.6.0 depends on esmpy>=8.0.0
    pangeo-xesmf 0.5.3.post0 depends on esmpy
    pangeo-xesmf 0.5.3 depends on esmpy>=8.0.0
    pangeo-xesmf 0.5.2.post0 depends on esmpy
    pangeo-xesmf 0.5.2 depends on esmpy>=8.0.0
    pangeo-xesmf 0.5.1.post0 depends on esmpy
    pangeo-xesmf 0.5.1 depends on esmpy>=8.0.0
    pangeo-xesmf 0.4.0.post0 depends on esmpy
    pangeo-xesmf 0.4.0 depends on esmpy>=8.0.0
    pangeo-xesmf 0.0.0 depends on esmpy

To fix this you could try to:
1. loosen the range of package versions you've specified
2. remove package versions to allow pip attempt to solve the dependency conflict

ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts

What is the purpose of the PyPI distribution? Is a pip installation supposed to work or can this package only be installed with Conda? If only Conda is supported, it might be good to delete the PyPI distribution of this package entirely.

huard commented 1 year ago

Although esmpy can only be installed through conda or compiled manually, xESMF on its own should be installable via pip.

mplough-kobold commented 1 year ago

Thanks for that info! I'll open a quick PR to document it.