probcomp / bayeslite

BayesDB on SQLite. A Bayesian database table for querying the probable implications of data as easily as SQL databases query the data itself.
http://probcomp.csail.mit.edu/software/bayesdb
Apache License 2.0
923 stars 63 forks source link

Installation fails with UnsatisfiableError #637

Open suhailshergill opened 4 years ago

suhailshergill commented 4 years ago

Installation of bayeslite fails with the following error:

(py2) user@kubuntu:~$ python
Python 2.7.17 |Anaconda, Inc.| (default, Oct 21 2019, 19:04:46) 
[GCC 7.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 
(py2) user@kubuntu:~$ conda install -c probcomp bayeslite
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: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: - 
Found conflicts! Looking for incompatible packages.
This can take several minutes.  Press CTRL-C to abort.
failed                                                                                                                                 

UnsatisfiableError: The following specifications were found to be incompatible with each other:

Output in format: Requested package -> Available versionsThe following specifications were found to be incompatible with your CUDA driver:

  - feature:/linux-64::__cuda==10.2=0
  - feature:|@/linux-64::__cuda==10.2=0

Your installed CUDA driver is: 10.2

(py2) user@kubuntu:~$ 

I have CUDA 10.2.89 installed

suhailshergill commented 4 years ago

@fsaad @Schaechtle any thoughts on what i'm doing wrong?

fsaad commented 4 years ago

Hi @suhailshergill. Thank you for filing this issue. The issue is possibly due to a wrong version of conda.

Can you please follow the step-by-step instructions listed here? https://github.com/probcomp/iventure/blob/master/docs/conda.md

Let us know if encounter any issues.

suhailshergill commented 4 years ago

@fsaad thanks for pointing me to those docs. Encountered failure at the second step. Looks like I need to enable some different channels (e.g. we need seaborn=0.7 and current channels don't list anything earlier than 0.8)

(bayesdb) user@kubuntu:~/probcomp$ conda install --yes conda=4.6.14 conda-build
Collecting package metadata (current_repodata.json): done
Solving environment: done

==> WARNING: A newer version of conda exists. <==
  current version: 4.7.12
  latest version: 4.8.3

Please update conda by running

    $ conda update -n base -c defaults conda

# All requested packages already installed.

(bayesdb) user@kubuntu:~/probcomp$ conda create -n probcomp --yes --file ./conda_python2.txt python=2.7
Collecting package metadata (current_repodata.json): done
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: failed

PackagesNotFoundError: The following packages are not available from current channels:

  - ipywidgets=6.0
  - vincent=0.4
  - pytest=2.8
  - seaborn=0.7
  - scikit-learn=0.17
  - cython=0.25
  - sympy=1.0
  - cloudpickle=0.2
  - beautifulsoup4=4.5
  - pandas=0.18
  - scikit-image=0.12
  - matplotlib=1.5
  - numba=0.31
  - scipy=0.17
  - ipython=5.3
  - statsmodels=0.6

Current channels:

  - 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

To search for alternate channels that may provide the conda package you're
looking for, navigate to

    https://anaconda.org

and use the search bar at the top of the page.

(bayesdb) user@kubuntu:~/probcomp$ 
suhailshergill commented 4 years ago

specifying conda-forge channel I was able to get most of the first set of dependencies for the environment except for pytest and numba. See output below:

(bayesdb) user@kubuntu:~/probcomp$ conda create -n probcomp --yes -c conda-forge -c probcomp -c cidermole -c fritzo -c ursusest --file ./conda_python2.txt python=2.7
Collecting package metadata (current_repodata.json): done
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: failed

PackagesNotFoundError: The following packages are not available from current channels:

  - pytest=2.8
  - numba=0.31

Current channels:

  - https://conda.anaconda.org/conda-forge/linux-64
  - https://conda.anaconda.org/conda-forge/noarch
  - https://conda.anaconda.org/probcomp/linux-64
  - https://conda.anaconda.org/probcomp/noarch
  - https://conda.anaconda.org/cidermole/linux-64
  - https://conda.anaconda.org/cidermole/noarch
  - https://conda.anaconda.org/fritzo/linux-64
  - https://conda.anaconda.org/fritzo/noarch
  - https://conda.anaconda.org/ursusest/linux-64
  - https://conda.anaconda.org/ursusest/noarch
  - 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

To search for alternate channels that may provide the conda package you're
looking for, navigate to

    https://anaconda.org

and use the search bar at the top of the page.

(bayesdb) user@kubuntu:~/probcomp$
suhailshergill commented 4 years ago

@fsaad so I did some tinkering. After a few tries I was able to install bayeslite=0.3.1.1, and able to confirm by running the test suite (albeit 2 tests xfailed). A few things to note:

  1. I had to modify some of the steps to get here.

  2. Even if I had been able to follow the steps you shared, I would only have been able to get bayeslite=0.3.2 i.e., a version 2 years old (the latest stable is bayeslite=0.3.3 which is 4 months old). Could you share the recommended steps for bayeslite=0.3.3?

For the record, below are the steps I followed in order to install bayeslite=0.3.1.1:

  1. I modified the pytest dependency in conda_python2.txt to pytest=2.9.* (I was unable to find version 2.8 in anaconda) and ran the following conda create -n probcomp --yes --file ./conda_python2.txt -c conda-forge -c numba -c sunpy python=2.7

  2. I installed bayeslite by invoking conda install -c probcomp -c cidermole -c fritzo -c ursusest -c conda-forge bayeslite apsw in the newly created environment.

It was interesting that simply installing bayeslite did not pull in the apsw dependency. Is that as intended?

suhailshergill commented 4 years ago

@fsaad made some more progress. So it seems the problematic packages (i.e., the packages that conda has a difficult time with) are bayeslite and loom. The others I was able to install via conda in a very straightforward manner (after including the extra channels you pointed to).

After that, I was able to install bayeslite by building from source via setup.py. I suspect a similar process might work for loom as well.

I am new to conda, but it seems the dependency tracking for bayeslite conda package is messed up. Hope this helps.