conda-forge / sage-feedstock

A conda-smithy repository for sage.
BSD 3-Clause "New" or "Revised" License
7 stars 11 forks source link

dependency conflict with jupyterhub-base (old tornado?) #55

Closed nthiery closed 3 years ago

nthiery commented 4 years ago

Issue:

Hello! I am trying to install sagemath with conda on the docker images for our local jupyterhub. This docker image is based on the jupyter/base-notebook image from Jupyter's Core stack. The latter includes the jupyterhub conda package which itself depends on jupyterhub-base.

There is however a conflict with this package and sage which I could reduce to the following. Note: I am using mamba rather than conda because it's faster and the error messages are more explicit, but the failure occurs also with conda:

mamba create -n sage sage jupyterhub-base -c conda-forge
Encountered problems while solving.
Problem: nothing provides path.py >=7.1,<8 needed by sage-8.1-py27_1

Trying to force python 3.7 did not help:

mamba create -n sage sage=9.1=py37hc8dfbb8_0 jupyterhub-base -c conda-forge
Problem: package sage-9.1-py37hc8dfbb8_0 requires python_abi 3.7.* *_cp37m, but none of the providers can be installed

At some point in my various trials, the messages seemed to suggest that sage requested tornado < 5.0 when jupyterhub required a more recent tornado.

Thanks in advance!

Environment (conda list): (base) debian@geops:~$ conda list

``` $ conda list # packages in environment at /home/debian/miniconda3: # # Name Version Build Channel _libgcc_mutex 0.1 main bzip2 1.0.8 h516909a_2 conda-forge ca-certificates 2020.6.20 hecda079_0 conda-forge certifi 2020.6.20 py37hc8dfbb8_0 conda-forge cffi 1.14.0 py37h2e261b9_0 chardet 3.0.4 py37_1003 conda 4.8.3 py37hc8dfbb8_1 conda-forge conda-package-handling 1.6.1 py37h7b6447c_0 cryptography 2.9.2 py37h1ba5d50_0 icu 67.1 he1b5a44_0 conda-forge idna 2.9 py_1 krb5 1.17.1 h173b8e3_0 ld_impl_linux-64 2.33.1 h53a641e_7 libarchive 3.3.3 h3a8160c_1008 conda-forge libcurl 7.71.1 hcdd3856_3 conda-forge libedit 3.1.20181209 hc058e9b_0 libffi 3.2.1 hd88cf55_4 libgcc-ng 9.1.0 hdf63c60_0 libiconv 1.15 h516909a_1006 conda-forge libsolv 0.7.14 h8b12597_3 conda-forge libssh2 1.9.0 hab1572f_4 conda-forge libstdcxx-ng 9.1.0 hdf63c60_0 libxml2 2.9.10 h72b56ed_1 conda-forge lz4-c 1.9.2 he1b5a44_1 conda-forge lzo 2.10 h14c3975_1000 conda-forge mamba 0.4.2 py37h6d3251c_0 conda-forge ncurses 6.2 he6710b0_1 openssl 1.1.1g h516909a_0 conda-forge pip 20.0.2 py37_3 pycosat 0.6.3 py37h7b6447c_0 pycparser 2.20 py_0 pyopenssl 19.1.0 py37_0 pysocks 1.7.1 py37_0 python 3.7.7 h191fe78_0_cpython python_abi 3.7 1_cp37m conda-forge readline 7.0 h7b6447c_5 requests 2.23.0 py37_0 ruamel_yaml 0.15.87 py37h7b6447c_0 setuptools 46.4.0 py37_0 six 1.14.0 py37_0 sqlite 3.31.1 h62c20be_1 tk 8.6.8 hbc83047_0 tqdm 4.46.0 py_0 urllib3 1.25.8 py37_0 wheel 0.34.2 py37_0 xz 5.2.5 h7b6447c_0 yaml 0.1.7 had09818_2 zlib 1.2.11 h7b6447c_3 zstd 1.4.5 h6597ccf_1 conda-forge ```


Details about conda and system ( conda info ):

``` $ conda info active environment : base active env location : /home/debian/miniconda3 shell level : 1 user config file : /home/debian/.condarc populated config files : conda version : 4.8.3 conda-build version : not installed python version : 3.7.7.final.0 virtual packages : __glibc=2.24 base environment : /home/debian/miniconda3 (writable) 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/debian/miniconda3/pkgs /home/debian/.conda/pkgs envs directories : /home/debian/miniconda3/envs /home/debian/.conda/envs platform : linux-64 user-agent : conda/4.8.3 requests/2.23.0 CPython/3.7.7 Linux/4.9.0-6-amd64 debian/9.4 glibc/2.24 UID:GID : 1000:1000 netrc file : None offline mode : False ```
isuruf commented 4 years ago

Hey Nicolas,

You've got a typo there,

mamba create -n sage sage jupyterhub-base -c conda-forgenda-forge

should be

mamba create -n sage sage jupyterhub-base -c conda-forge
isuruf commented 4 years ago

At some point in my various trials, the messages seemed to suggest that sage requested tornado < 5.0 when jupyterhub required a more recent tornado.

This might be a genuine error because I'm currently pinning tornado < 5.0 for sagemath. I can try and relax this requirement. I added it because of https://github.com/sagemath/sage/blob/develop/build/pkgs/tornado/package-version.txt

nthiery commented 4 years ago

You've got a typo there,

mamba create -n sage sage jupyterhub-base -c conda-forgenda-forge

should be

mamba create -n sage sage jupyterhub-base -c conda-forge

Oops, thanks Isuru for catching. I fumbled my copy-paste. The command I typed was correct.

slel commented 4 years ago

During the last round of pip updates on the Sage side, the Tornado upgrade was postponed due to problems.

It would be nice to revisit.

isuruf commented 4 years ago

Can somebody send a PR to change https://github.com/conda-forge/sage-feedstock/blob/master/recipe/meta.yaml#L151 to a better value? Maybe tornado >=4.5.2,<7 ?

nthiery commented 4 years ago

I just tried a couple hours after #56 was merged. For now no success: I get the same errors. I also tried an explicit:

mamba create -n sage sage=9.1 tornado>=5 -c conda-forge

which still hangs after 10 minutes of running; same with conda.

isuruf commented 4 years ago

Can you check now?

nthiery commented 3 years ago

Ooops, sorry; I went on vacations and did not come back since then.

I confirm that it works! Thanks so much.

nthiery commented 3 years ago

For the record, that was with:

mamba create -n sage sage jupyterhub-base -c conda-forge