Conda downgrade numpy version
Solution 1
You could simply install the correct version using the command
conda install -c conda-forge numpy=1.16.4
conda will automatically take care of downgrading to your version correctly
Solution 2
If downgrading to an specific version of numpy takes forever while conda is solving the environment, or conda is unable to resolve the conflicts, you can use conda-tree to inspect the dependences and then manually uninstall with conda (or attempt to downgrade) the incompatible packages. However note that creating a new environment with the correct numpy version could be faster if there are many dependences (you may use mamba to speed up the process).
conda install -c conda-forge conda-tree
conda-tree whoneeds -t numpy
This will display a tree with the supported numpy versions for each dependent package:
numpy==1.20.3
├─ h5py 3.2.1 [required: >=1.16.6,<2.0a0]
│ └─ tensorflow-base 2.5.0 [required: >=3.1.0]
│ └─ tensorflow 2.5.0 [required: 2.5.0, gpu_py37hb3da07e_0]
│ └─ tensorflow-gpu 2.5.0 [required: 2.5.0]
├─ keras-preprocessing 1.1.2 [required: >=1.9.1]
│ └─ tensorflow-base 2.5.0 [required: >=1.1.2]
│ └─ dependent packages of tensorflow-base displayed above
├─ matplotlib-base 3.4.2 [required: >=1.17.5,<2.0a0]
│ └─ matplotlib 3.4.2 [required: >=3.4.2,<3.4.3.0a0]
├─ opt_einsum 3.3.0 [required: any]
│ └─ tensorflow-base 2.5.0 [required: 3.3.0.*]
│ └─ dependent packages of tensorflow-base displayed above
├─ pandas 1.2.5 [required: >=1.20.2,<2.0a0]
│ └─ statsmodels 0.12.2 [required: >=0.21]
├─ patsy 0.5.1 [required: >=1.4.0]
│ └─ statsmodels 0.12.2 [required: >=0.5.1]
├─ scipy 1.6.2 [required: >=1.16.6,<2.0a0]
│ ├─ keras-preprocessing 1.1.2 [required: >=0.14]
│ │ └─ dependent packages of keras-preprocessing displayed above
│ ├─ patsy 0.5.1 [required: any]
│ │ └─ dependent packages of patsy displayed above
│ ├─ statsmodels 0.12.2 [required: >=1.0]
│ └─ tensorflow-base 2.5.0 [required: >=1.6.2]
│ └─ dependent packages of tensorflow-base displayed above
├─ statsmodels 0.12.2 [required: >=1.17.0,<2.0a0]
├─ tensorboard 2.5.0 [required: >=1.12.0]
│ ├─ tensorflow 2.5.0 [required: >=2.5.0]
│ │ └─ dependent packages of tensorflow displayed above
│ └─ tensorflow-base 2.5.0 [required: >=2.5.0,<2.6]
│ └─ dependent packages of tensorflow-base displayed above
├─ tensorflow-base 2.5.0 [required: >=1.20]
│ └─ dependent packages of tensorflow-base displayed above
└─ tensorflow-estimator 2.5.0 [required: >=1.16.1]
├─ tensorflow 2.5.0 [required: >=2.5.0]
│ └─ dependent packages of tensorflow displayed above
└─ tensorflow-base 2.5.0 [required: >=2.5.0,<2.6]
└─ dependent packages of tensorflow-base displayed above
mrgloom
Updated on November 20, 2021Comments
-
mrgloom over 2 years
I need to downgrade numpy version:
python -c "import numpy; print(numpy.__version__)" 1.16.4
conda install numpy==1.14.3
Collecting package metadata (current_repodata.json): done Solving environment: failed with current_repodata.json, will retry with next repodata source. Collecting package metadata (repodata.json): done Solving environment: failed Initial quick solve with frozen env failed. Unfreezing env and trying again. Solving environment: failed UnsatisfiableError: The following specifications were found to be incompatible with a past explicit spec that is not an explicit spec in this operation (numpy): - numpy==1.14.3 The following specifications were found to be incompatible with each other: Package numpy-base conflicts for: mkl_random -> numpy[version='>=1.11.3,<2.0a0'] -> mkl_fft[version='>=1.0.6,<2.0a0'] -> numpy-base[version='>=1.0.6,<2.0a0'] mkl_fft -> numpy[version='>=1.11.3,<2.0a0'] -> mkl_random[version='>=1.0.2,<2.0a0'] -> numpy-base[version='>=1.0.2,<2.0a0'] numpy-base pytorch==1.1.0 -> numpy[version='>=1.11.3,<2.0a0'] -> mkl_random[version='>=1.0.2,<2.0a0'] -> numpy-base[version='>=1.0.2,<2.0a0'] numpy==1.14.3 -> mkl_random[version='>=1.0.2,<2.0a0'] -> numpy-base[version='>=1.0.2,<2.0a0'] Package numpy conflicts for: mkl_fft -> numpy[version='>=1.11.3,<2.0a0'] mkl_random -> numpy[version='>=1.11.3,<2.0a0'] pytorch==1.1.0 -> numpy[version='>=1.11.3,<2.0a0']
Not sure why this happens
numpy==1.14.3
is in rangenumpy[version='>=1.11.3,<2.0a0']
, how to fix it?Update:
Uninstalling via
conda uninstall numpy-base
will delete other packages which is not desirable:conda uninstall numpy-base Collecting package metadata (repodata.json): done Solving environment: done removed specs: - numpy-base The following packages will be REMOVED: blas-1.0-mkl cffi-1.12.3-py36h2e261b9_0 cudatoolkit-10.0.130-0 cudnn-7.6.0-cuda10.0_0 intel-openmp-2019.4-243 libgfortran-ng-7.3.0-hdf63c60_0 mkl-2019.4-243 mkl-service-2.0.2-py36h7b6447c_0 mkl_fft-1.0.14-py36ha843d7b_0 mkl_random-1.0.2-py36hd81dba3_0 ninja-1.9.0-py36hfd86e86_0 numpy-1.16.4-py36h7e9f1db_0 numpy-base-1.16.4-py36hde5b4d6_0 pycparser-2.19-py36_0 pytorch-1.1.0-cuda100py36he554f03_0 six-1.12.0-py36_0
-
Tae-Sung Shin about 3 yearsTo me "-c conda-forge" was the key because without it, the install statement gave an error "not available from current channels."