Open
Description
🐛 Bug
Trying to install torchvision together with opencv (from conda-forge channel) fails due to compatibility issues.
Here's the env.yaml
file to reproduce:
channels:
- nvidia
- pytorch
- conda-forge
- defaults
dependencies:
- python=3.8
- pytorch=1.9.0
- torchvision=0.10.0
- cudatoolkit=11.1
- opencv=4.5.2
Try and install this with
conda env create -f env.yaml -n test-torchvision
Remove either torchvision or opencv from the list, and the installation succeeds. This is on Ubuntu 20.04.
The compatibility errors I get seem a bit puzzling, I would guess that the real reason might be jpeg
pinning. Here's the output:
Output
torchvision=0.10.0 -> pillow[version='>=5.3.0'] -> python_abi[version='3.6|3.6.*|3.7|3.7.*|3.8.*',build='*_cp38|*_pypy36_pp73|*_cp36m|*_pypy37_pp73|*_cp37m']
torchvision=0.10.0 -> python_abi=3.9[build=*_cp39]
Package pypy3.6 conflicts for:
opencv=4.5.2 -> pypy3.6[version='>=7.3.3']
pytorch=1.9.0 -> ninja -> pypy3.6[version='7.3.0.*|7.3.1.*|7.3.2.*|7.3.3.*|>=7.3.1']
opencv=4.5.2 -> python_abi==3.6[build=*_pypy36_pp73] -> pypy3.6=7.3
torchvision=0.10.0 -> pillow[version='>=5.3.0'] -> pypy3.6[version='7.3.0.*|7.3.1.*|7.3.2.*|7.3.3.*|>=7.3.1|>=7.3.2|>=7.3.3']
Package libgcc-ng conflicts for:
pytorch=1.9.0 -> blas=[build=mkl] -> libgcc-ng[version='>=4.9|>=7.2.0|>=7.3.0|>=7.5.0|>=9.3.0']
python=3.8 -> zlib[version='>=1.2.11,<1.3.0a0'] -> libgcc-ng[version='>=4.9|>=7.2.0']
torchvision=0.10.0 -> cudatoolkit[version='>=11.1,<11.2'] -> libgcc-ng[version='>=4.9|>=7.2.0|>=7.3.0|>=9.3.0|>=7.5.0']
python=3.8 -> libgcc-ng[version='>=7.3.0|>=7.5.0|>=9.3.0']
opencv=4.5.2 -> libopencv==4.5.2=py36hf40240d_0 -> libgcc-ng[version='>=9.3.0']
cudatoolkit=11.1 -> libgcc-ng[version='>=7.3.0|>=9.3.0']
Package cudatoolkit conflicts for:
torchvision=0.10.0 -> cudatoolkit[version='>=10.2,<10.3|>=11.1,<11.2']
cudatoolkit=11.1
Package libtiff conflicts for:
opencv=4.5.2 -> libopencv==4.5.2=py36hf40240d_0 -> libtiff[version='>=4.2.0,<5.0a0']
torchvision=0.10.0 -> pillow[version='>=5.3.0'] -> libtiff[version='>=4.0.10,<5.0a0|>=4.1.0,<5.0a0|>=4.2.0,<5.0a0|>=4.0.9,<5.0a0']
Package pytorch conflicts for:
torchvision=0.10.0 -> pytorch==1.9.0
pytorch=1.9.0
Package readline conflicts for:
python=3.8 -> readline[version='>=7.0,<8.0a0|>=8.0,<9.0a0|>=8.1,<9.0a0']
pytorch=1.9.0 -> python[version='>=3.7,<3.8.0a0'] -> readline[version='6.2.*|7.0|>=7.0,<8.0a0|>=8.0,<9.0a0|7.*|>=8.1,<9.0a0']
torchvision=0.10.0 -> python[version='>=3.9,<3.10.0a0'] -> readline[version='6.2.*|7.0|>=7.0,<8.0a0|>=8.0,<9.0a0|>=8.1,<9.0a0|7.*']
Package jpeg conflicts for:
torchvision=0.10.0 -> pillow[version='>=5.3.0'] -> jpeg[version='>=9b,<10a|>=9c,<10a|>=9d,<10a']
torchvision=0.10.0 -> jpeg[version='<=9b']
Package _openmp_mutex conflicts for:
opencv=4.5.2 -> libopencv==4.5.2=py36hf40240d_0 -> _openmp_mutex[version='>=4.5']
python=3.8 -> libgcc-ng[version='>=9.3.0'] -> _openmp_mutex[version='>=4.5']
cudatoolkit=11.1 -> libgcc-ng[version='>=7.3.0'] -> _openmp_mutex[version='>=4.5']
pytorch=1.9.0 -> blas=[build=mkl] -> _openmp_mutex[version='*|>=4.5',build=*_llvm]
Package libpng conflicts for:
torchvision=0.10.0 -> ffmpeg[version='>=4.2'] -> libpng[version='>=1.6.37,<1.7.0a0']
torchvision=0.10.0 -> libpng
Package python conflicts for:
torchvision=0.10.0 -> python[version='>=3.6,<3.7.0a0|>=3.8,<3.9.0a0|>=3.9,<3.10.0a0|>=3.7,<3.8.0a0']
torchvision=0.10.0 -> pillow[version='>=5.3.0'] -> python[version='3.9.*|>=2.7,<2.8.0a0|>=3.5,<3.6.0a0']
python=3.8
opencv=4.5.2 -> py-opencv==4.5.2=py36he2ddec3_0 -> python[version='3.6.*|3.9.*|>=3.6,<3.7.0a0|>=3.9,<3.10.0a0|>=3.7,<3.8.0a0|3.7.*|>=3.8,<3.9.0a0|3.8.*']
Package liblapacke conflicts for:
opencv=4.5.2 -> libopencv==4.5.2=py36hf40240d_0 -> liblapacke[version='>=3.8.0,<4.0a0']
pytorch=1.9.0 -> blas=[build=mkl] -> liblapacke[version='3.8.0|3.8.0|3.8.0|3.8.0|3.8.0|3.8.0|3.8.0|3.8.0|3.8.0|3.8.0|3.8.0|3.8.0|3.8.0|3.8.0|3.8.0|3.8.0|3.8.0|3.9.0',build='4_mkl|6_mkl|7_mkl|9_mkl|10_mkl|12_mkl|13_mkl|15_mkl|18_mkl|19_mkl|7_mkl|8_mkl|9_mkl|6_mkl|5_mkl|21_mkl|20_mkl|16_mkl|14_mkl|11_mkl|8_mkl|5_mkl']
Package _libgcc_mutex conflicts for:
python=3.8 -> libgcc-ng[version='>=9.3.0'] -> _libgcc_mutex[version='*|0.1',build='main|main|conda_forge']
cudatoolkit=11.1 -> libgcc-ng[version='>=7.3.0'] -> _libgcc_mutex[version='*|0.1|0.1',build='main|main|conda_forge']The following specifications were found to be incompatible with your system:
- feature:/linux-64::__glibc==2.31=0
- feature:|@/linux-64::__glibc==2.31=0
- cudatoolkit=11.1 -> __glibc[version='>=2.17,<3.0.a0']
- torchvision=0.10.0 -> cudatoolkit[version='>=11.1,<11.2'] -> __glibc[version='>=2.17,<3.0.a0']
Your installed version is: 2.31