scanpy icon indicating copy to clipboard operation
scanpy copied to clipboard

Seaborn version requirement inconsistency

Open yotamcons opened this issue 1 year ago • 1 comments

Please make sure these conditions are met

  • [X] I have checked that this issue has not already been reported.
  • [X] I have confirmed this bug exists on the latest version of scanpy.
  • [X] (optional) I have confirmed this bug exists on the master branch of scanpy.

What happened?

I was trying to install scanpy=1.9.6 using conda in a python=3.9 environment that had 1.9.5 working with seaborn=0.13. Conda raised a solving issue due to package scanpy-1.9.6-pyhd8ed1ab_0 requires seaborn !=0.13.0, but none of the providers can be installed I tried the second build (1ab_1) and the error stayed: package scanpy-1.9.6-pyhd8ed1ab_1 requires seaborn !=0.13.0, but none of the providers can be installed

I checked github and saw that the dependency in pyproject.toml is "seaborn>=0.13.0" but when i checked the conda package's index.json i saw "seaborn !=0.13.0".

The discrepancy between the dependencies is unclear.

the full index.json:

{
  "arch": null,
  "build": "pyhd8ed1ab_1",
  "build_number": 1,
  "depends": [
    "anndata >=0.7.4",
    "get-annotations",
    "h5py >=3",
    "joblib",
    "matplotlib-base >=3.6",
    "natsort",
    "networkx >=2.3",
    "numba >=0.41",
    "numpy >=1.17",
    "packaging",
    "pandas >=1.1.1,!=2.1.2",
    "patsy",
    "python >=3.8",
    "scikit-learn >=0.24",
    "scipy >=1.4",
    "seaborn !=0.13.0",
    "session-info",
    "statsmodels >=0.11",
    "tqdm",
    "umap-learn >=0.3.10"
  ],
  "license": "BSD-3-Clause",
  "license_family": "BSD",
  "name": "scanpy",
  "noarch": "python",
  "platform": null,
  "subdir": "noarch",
  "timestamp": 1699376683854,
  "version": "1.9.6"
}

Minimal code sample

conda create -n test "python=3.9" "scanpy=1.9.6" "seaborn=0.13" -c conda-forge

Error output

No response

Versions


yotamcons avatar Dec 21 '23 10:12 yotamcons

Indeed scanpy 1.9.6 required seaborn!=0.13.0, while newer releases have been update to require seaborn>=0.13.0 (when you look here on GitHub, you will find this updated requirement as you mentioned)

If you want to use scanpy 1.9.6 for a specific reason, your environment should use a seaborn version that is not 0.13.x, e.g. the latest 0.12 version.

Does upgrading to the latest scanpy version resolve this issue for you?

eroell avatar Feb 19 '24 11:02 eroell