Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

conda package doesn't honor dependency pinning in requirements.txt #5

Open
jcollado opened this issue May 6, 2021 · 0 comments
Open

Comments

@jcollado
Copy link

jcollado commented May 6, 2021

This causes problems with recipes that depend on inquirer and use pip check to verify that dependencies are correct. One example can be found here, where I tried to fix the recipe for chalice, but it only worked after removing the pip check command.

Issue: inquirer conda package doesn't honor dependency pinning in inquirer's requirements.txt file.

Steps to reproduce problem:

$ conda env create -n inquirer-test
$ conda install -c conda-forge inquirer
$ pip check
inquirer 2.7.0 has requirement blessed==1.17.6, but you have blessed 1.18.0.

In my opinion, the root cause is that inquirer, being a library, should be more flexible when pinning dependencies. Nevertheless, the conda package should use the same dependencies.

I tried to update the recipe to use the same versions as in setup.py, but I found that despite blessed=1.17.6 and python-editor=1.0.4 are available in conda-forge, it turns out that readchar=2.0.1 is not. Looking at readchar's conda recipe I see that version is already set to 3.0.4 and I don't know if it's possible to create a PR that builds and old version (2.0.1 in this case). What would be the best way to proceed in this case?


Environment (conda list):
$ conda list
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                 conda_forge    conda-forge
_openmp_mutex             4.5                       1_gnu    conda-forge
backports                 1.0                        py_2    conda-forge
backports.functools_lru_cache 1.6.4              pyhd8ed1ab_0    conda-forge
blessed                   1.18.0           py39hf3d152e_0    conda-forge
ca-certificates           2020.12.5            ha878542_0    conda-forge
certifi                   2020.12.5        py39hf3d152e_1    conda-forge
inquirer                  2.7.0                      py_0    conda-forge
ld_impl_linux-64          2.35.1               hea4e1c9_2    conda-forge
libffi                    3.3                  h58526e2_2    conda-forge
libgcc-ng                 9.3.0               h2828fa1_19    conda-forge
libgomp                   9.3.0               h2828fa1_19    conda-forge
libstdcxx-ng              9.3.0               h6de172a_19    conda-forge
ncurses                   6.2                  h58526e2_4    conda-forge
openssl                   1.1.1k               h7f98852_0    conda-forge
pip                       21.1.1             pyhd8ed1ab_0    conda-forge
python                    3.9.2           hffdb5ce_0_cpython    conda-forge
python-editor             1.0.4                      py_0    conda-forge
python_abi                3.9                      1_cp39    conda-forge
readchar                  3.0.4              pyhd8ed1ab_1    conda-forge
readline                  8.1                  h46c0cb4_0    conda-forge
setuptools                49.6.0           py39hf3d152e_3    conda-forge
six                       1.16.0             pyh6c4a22f_0    conda-forge
sqlite                    3.35.5               h74cdb3f_0    conda-forge
tk                        8.6.10               h21135ba_1    conda-forge
tzdata                    2021a                he74cb21_0    conda-forge
wcwidth                   0.2.5              pyh9f0ad1d_2    conda-forge
wheel                     0.36.2             pyhd3deb0d_0    conda-forge
xz                        5.2.5                h516909a_1    conda-forge
zlib                      1.2.11            h516909a_1010    conda-forge

Details about conda and system ( conda info ):
$ conda info

    active environment : inquirer-test
    active env location : /home/javi/miniconda3/envs/inquirer-test
            shell level : 1
       user config file : /home/javi/.condarc
 populated config files : /home/javi/.condarc
          conda version : 4.10.1
    conda-build version : 3.20.5
         python version : 3.8.5.final.0
       virtual packages : __cuda=11.0=0
                          __linux=5.8.0=0
                          __glibc=2.31=0
                          __unix=0=0
                          __archspec=1=x86_64
       base environment : /home/javi/miniconda3  (writable)
      conda av data dir : /home/javi/miniconda3/etc/conda
  conda av metadata url : https://repo.anaconda.com/pkgs/main
           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/javi/miniconda3/pkgs
                          /home/javi/.conda/pkgs
       envs directories : /home/javi/miniconda3/envs
                          /home/javi/.conda/envs
               platform : linux-64
             user-agent : conda/4.10.1 requests/2.25.1 CPython/3.8.5 Linux/5.8.0-50-generic ubuntu/20.04.2 glibc/2.31
                UID:GID : 1000:1000
             netrc file : None
           offline mode : False
@jcollado jcollado changed the title conda package doesn't honor dependency pinning in setup.py conda package doesn't honor dependency pinning in requirements.txt May 6, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant