conda-forge / dandi-feedstock

A conda-smithy repository for dandi.
BSD 3-Clause "New" or "Revised" License
0 stars 2 forks source link

Installing dandi pulls in older version of pynwb (1.2.1) #40

Closed rly closed 1 year ago

rly commented 3 years ago

Issue:

When I run conda install dandi -c conda-forge, pynwb==1.2.1 is installed by default. I can update pynwb manually, but it would be nice to install the latest by default. People who use conda to install dandi and validate NWB files get different results based on whether they are using pynwb==1.2.1 and pynwb==1.5.1, and it took some time to figure out that different versions of pynwb were installed.

This should not be an issue soon when pynwb 2.0 is released with hdmf 3 and h5py 3 support. Also not a big deal, so feel free to close, but if there is an easy fix, that would be great.

If it would be useful to release new builds of old versions of pynwb that restrict h5py versions correctly, we can also do that.

$ conda update conda
$ conda install -c conda-forge dandi
$ conda update -c conda-forge pynwb  # does not install latest pynwb
$ conda install -c conda-forge pynwb==1.5.1  # works but only with explicit version tag

results in:

``` Collecting package metadata (current_repodata.json): done Solving environment: failed with initial frozen solve. Retrying with flexible solve. Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source. Collecting package metadata (repodata.json): done Solving environment: done ## Package Plan ## environment location: /home/rly/miniconda3/envs/dandi added / updated specs: - pynwb==1.5.1 The following packages will be downloaded: package | build ---------------------------|----------------- h5py-2.10.0 |nompi_py38h9915d05_106 1.1 MB conda-forge hdmf-2.5.8 | pyh6c4a22f_0 117 KB conda-forge numpy-1.20.3 | py38h9894fe3_1 5.8 MB conda-forge pynwb-1.5.1 | py38h578d9bd_1 197 KB conda-forge ------------------------------------------------------------ Total: 7.3 MB The following packages will be UPDATED: hdmf 1.5.4-py_0 --> 2.5.8-pyh6c4a22f_0 pynwb conda-forge/noarch::pynwb-1.2.1-py_0 --> conda-forge/linux-64::pynwb-1.5.1-py38h578d9bd_1 The following packages will be DOWNGRADED: h5py 3.3.0-nompi_py38h9915d05_100 --> 2.10.0-nompi_py38h9915d05_106 numpy 1.21.0-py38h9894fe3_0 --> 1.20.3-py38h9894fe3_1 Proceed ([y]/n)? ``` ...


Environment (conda list):

``` $ conda list # packages in environment at /home/rly/miniconda3/envs/dandi: # # Name Version Build Channel _libgcc_mutex 0.1 main _openmp_mutex 4.5 1_gnu appdirs 1.4.4 pyh9f0ad1d_0 conda-forge attrs 21.2.0 pyhd8ed1ab_0 conda-forge blessings 1.7 py38h578d9bd_1004 conda-forge brotlipy 0.7.0 py38h497a2fe_1001 conda-forge c-ares 1.17.1 h7f98852_1 conda-forge ca-certificates 2021.5.30 ha878542_0 conda-forge cached-property 1.5.2 hd8ed1ab_1 conda-forge cached_property 1.5.2 pyha770c72_1 conda-forge certifi 2021.5.30 py38h578d9bd_0 conda-forge cffi 1.14.6 py38ha65f79e_0 conda-forge chardet 4.0.0 py38h578d9bd_1 conda-forge ci-info 0.2.0 pyh9f0ad1d_0 conda-forge click 8.0.1 py38h578d9bd_0 conda-forge click-didyoumean 0.0.3 pyh8c360ce_0 conda-forge cryptography 3.4.7 py38ha5dfef3_0 conda-forge dandi 0.23.1 py38h578d9bd_0 conda-forge dandischema 0.2.10 pyhd8ed1ab_0 conda-forge dbus 1.13.6 h48d8840_2 conda-forge dnspython 2.1.0 pyhd8ed1ab_0 conda-forge email-validator 1.1.3 pyhd8ed1ab_0 conda-forge etelemetry 0.2.2 pyh9f0ad1d_0 conda-forge expat 2.4.1 h9c3ff4c_0 conda-forge fasteners 0.16 pyhd8ed1ab_0 conda-forge fscacher 0.1.4 pyhd8ed1ab_0 conda-forge gettext 0.19.8.1 h0b5b191_1005 conda-forge glib 2.68.3 h9c3ff4c_0 conda-forge glib-tools 2.68.3 h9c3ff4c_0 conda-forge gmp 6.2.1 h58526e2_0 conda-forge h5py 3.3.0 nompi_py38h9915d05_100 conda-forge hdf5 1.10.6 nompi_h6a2412b_1114 conda-forge hdmf 1.5.4 py_0 conda-forge humanize 3.10.0 pyhd8ed1ab_0 conda-forge idna 2.10 pyh9f0ad1d_0 conda-forge importlib-metadata 4.6.1 py38h578d9bd_0 conda-forge importlib_metadata 4.6.1 hd8ed1ab_0 conda-forge jeepney 0.7.0 pyhd8ed1ab_0 conda-forge joblib 1.0.1 pyhd8ed1ab_0 conda-forge jsonschema 3.2.0 pyhd8ed1ab_3 conda-forge keyring 23.0.1 py38h578d9bd_0 conda-forge keyrings.alt 4.0.2 pyhd3deb0d_0 conda-forge krb5 1.19.1 hcc1bbae_0 conda-forge ld_impl_linux-64 2.35.1 h7274673_9 libblas 3.9.0 9_openblas conda-forge libcblas 3.9.0 9_openblas conda-forge libcurl 7.77.0 h2574ce0_0 conda-forge libedit 3.1.20191231 he28a2e2_2 conda-forge libev 4.33 h516909a_1 conda-forge libffi 3.3 he6710b0_2 libgcc-ng 9.3.0 h5101ec6_17 libgfortran-ng 9.3.0 hff62375_19 conda-forge libgfortran5 9.3.0 hff62375_19 conda-forge libglib 2.68.3 h3e27bee_0 conda-forge libgomp 9.3.0 h5101ec6_17 libiconv 1.16 h516909a_0 conda-forge liblapack 3.9.0 9_openblas conda-forge libnghttp2 1.43.0 h812cca2_0 conda-forge libopenblas 0.3.15 pthreads_h8fe5266_1 conda-forge libssh2 1.9.0 ha56f1ee_6 conda-forge libstdcxx-ng 9.3.0 hd4cf53a_17 monotonic 1.5 py_0 conda-forge ncurses 6.2 he6710b0_1 numpy 1.21.0 py38h9894fe3_0 conda-forge openssl 1.1.1k h7f98852_0 conda-forge packaging 21.0 pyhd8ed1ab_0 conda-forge pandas 1.3.0 py38h1abd341_0 conda-forge pcre 8.45 h9c3ff4c_0 conda-forge pip 21.1.3 py38h06a4308_0 pycparser 2.20 pyh9f0ad1d_2 conda-forge pycryptodomex 3.10.1 py38h497a2fe_0 conda-forge pydantic 1.8.2 py38h497a2fe_0 conda-forge pynwb 1.2.1 py_0 conda-forge pyopenssl 20.0.1 pyhd8ed1ab_0 conda-forge pyout 0.7.1 py38h578d9bd_0 conda-forge pyparsing 2.4.7 pyh9f0ad1d_0 conda-forge pyrsistent 0.17.3 py38h497a2fe_2 conda-forge pysocks 1.7.1 py38h578d9bd_3 conda-forge python 3.8.10 h12debd9_8 python-dateutil 2.8.1 py_0 conda-forge python_abi 3.8 2_cp38 conda-forge pytz 2021.1 pyhd8ed1ab_0 conda-forge readline 8.1 h27cfd23_0 requests 2.25.1 pyhd3deb0d_0 conda-forge ruamel.yaml 0.17.10 py38h497a2fe_0 conda-forge ruamel.yaml.clib 0.2.2 py38h497a2fe_2 conda-forge scipy 1.7.0 py38h7b17777_0 conda-forge secretstorage 3.3.1 py38h578d9bd_0 conda-forge semantic_version 2.8.5 pyh9f0ad1d_0 conda-forge setuptools 52.0.0 py38h06a4308_0 six 1.16.0 pyh6c4a22f_0 conda-forge sqlite 3.36.0 hc218d9a_0 tenacity 8.0.1 pyhd8ed1ab_0 conda-forge tk 8.6.10 hbc83047_0 tqdm 4.61.2 pyhd8ed1ab_1 conda-forge typing-extensions 3.10.0.0 hd8ed1ab_0 conda-forge typing_extensions 3.10.0.0 pyha770c72_0 conda-forge urllib3 1.26.6 pyhd8ed1ab_0 conda-forge wheel 0.36.2 pyhd3eb1b0_0 xz 5.2.5 h7b6447c_0 zipp 3.5.0 pyhd8ed1ab_0 conda-forge zlib 1.2.11 h7b6447c_3 ```


Details about conda and system ( conda info ):

``` $ conda info active environment : dandi active env location : /home/rly/miniconda3/envs/dandi shell level : 2 user config file : /home/rly/.condarc populated config files : conda version : 4.10.3 conda-build version : not installed python version : 3.9.1.final.0 virtual packages : __linux=4.4.0=0 __glibc=2.23=0 __unix=0=0 __archspec=1=x86_64 base environment : /home/rly/miniconda3 (writable) conda av data dir : /home/rly/miniconda3/etc/conda conda av metadata url : None channel URLs : https://repo.anaconda.com/pkgs/main/linux-64 https://repo.anaconda.com/pkgs/main/noarch https://repo.anaconda.com/pkgs/r/linux-64 https://repo.anaconda.com/pkgs/r/noarch package cache : /home/rly/miniconda3/pkgs /home/rly/.conda/pkgs envs directories : /home/rly/miniconda3/envs /home/rly/.conda/envs platform : linux-64 user-agent : conda/4.10.3 requests/2.25.1 CPython/3.9.1 Linux/4.4.0-151-generic ubuntu/16.04.6 glibc/2.23 UID:GID : 10032:10032 netrc file : None offline mode : False ```
rly commented 1 year ago

This issue appears to be fixed and no longer relevant.