holoviz / geoviews

Simple, concise geographical visualization in Python
http://geoviews.org
BSD 3-Clause "New" or "Revised" License
578 stars 75 forks source link

Conda Install Fails #446

Open jjoonathan opened 4 years ago

jjoonathan commented 4 years ago

conda install -c pyviz geoviews currently fails to Solve Environment inside a clean anaconda container launched with sudo docker run -it continuumio/anaconda3.

I've tried the pyviz channel, the default channel, and the conda-forge channel with the same results.

Conda suggests that the problem has to do with conflicts and that it is looking for incompatibilities, but it has been running since yesterday and only reports 90% progress. I'll update this post if it completes.

Found conflicts! Looking for incompatible packages. This can take several minutes. Press CTRL-C to abort. Examining conflict for ...

jjoonathan commented 4 years ago

Here is conda info inside the container:

sudo doc(base) jon@jon-Precision-7720:~/hyperspectral$ sudo docker run -it continaconda3 
(base) root@68c9563607c9:/# conda info

     active environment : base
    active env location : /opt/conda
            shell level : 1
       user config file : /root/.condarc
 populated config files : 
          conda version : 4.8.2
    conda-build version : 3.18.11
         python version : 3.7.6.final.0
       virtual packages : __glibc=2.28
       base environment : /opt/conda  (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 : /opt/conda/pkgs
                          /root/.conda/pkgs
       envs directories : /opt/conda/envs
                          /root/.conda/envs
               platform : linux-64
             user-agent : conda/4.8.2 requests/2.22.0 CPython/3.7.6 Linux/5.3.0-42-generic debian/10 glibc/2.28
                UID:GID : 0:0
             netrc file : None
           offline mode : False
jjoonathan commented 4 years ago

conda install -c pyviz geoviews-core completes successfully. It's just the full geoviews that conda has issues with. I wish it didn't take so long (~an hour) to fail, so that I could iterate quicker, but that's how conda is.

Update: conda's dependency analysis finally finished after 18 hours! Unfortunately it does not look terribly helpful at first glance. Hopefully it's more helpful to one of you :) conda_conflict_report.txt

jjoonathan commented 4 years ago

Ok, one more possibility eliminated. I don't think it's just the continuumio/anaconda3 docker image.

I manually started with sudo docker run -it ubuntu:latest, installed anaconda apt update; apt install curl; curl -O https://repo.anaconda.com/archive/Anaconda3-2020.02-Linux-x86_64.sh; bash ./Anaconda3-2020.02-Linux-x86_64.sh, and ran conda install -c pyviz geoviews . It failed to Solve Environment.

jjoonathan commented 4 years ago

I've started manually installing combinations of geoviews dependencies. Unfortunately, whether or not they Solve Environment seems to be order-dependent. In each of these cases, I start with a fresh container sudo docker run -it continuumio/anaconda3:

I can successfully install all of the following (copied from history, might contain a typo):

conda install -yc pyviz geoviews-core
conda install -yc pyviz bokeh
conda install -yc pyviz datashader
conda install -yc pyviz xarray
conda install -yc pyviz holoviews
conda install -yc pyviz jupyter
conda install -yc pyviz matplotlib
conda install -yc pyviz numpy pandas
conda install -yc pyviz param
conda install -yc pyviz netcdf4
conda install -yc pyviz python
conda install -yc pyviz scipy
conda install -yc pyviz cartopy
conda install -yc pyviz pyct
conda install -yc pyviz shapely

If I subsequently try either of the following, I get a failed Solving Environment:

conda install -c pyviz geopandas
conda install -c pyviz gdal

If I try to install the "working" set of packages all at once, I get a failed Solving Environment: conda install -c pyviz bokeh cartopy datashader geoviews-core holoviews jupyter matplotlib netcdf4 numpy pandas param pyct python scipy shapely xarray

I am now working on merging install steps in the working set into maximal groups.

jjoonathan commented 4 years ago

Starting, as usual, from sudo docker run -it continuumio/anaconda3,

This fails at Solving Environment:

conda install -yc pyviz bokeh cartopy

This succeeds:

conda install -yc pyviz geoviews-core bokeh datashader xarray holoviews jupyter matplotlib numpy pandas param netcdf4 python scipy
conda install -yc pyviz cartopy

Huh?

jjoonathan commented 4 years ago

It seems I must have prematurely assumed it would fail to solve once it reported that the initial solve failed. That was incorrect. Starting from sudo docker run -it continuumio/anaconda3,

This succeeds: conda install -yc pyviz geoviews-core bokeh datashader xarray holoviews jupyter matplotlib numpy pandas param netcdf4 python scipy pyct shapely cartopy

(it is the full list of geoviews dependencies less gdal and geopandas)

It just has to go through a long process:

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: done
jjoonathan commented 4 years ago

gdal fails on its own. Starting from sudo docker run -it continuumio/anaconda3

we get:

(base) root@f3930e25dcba:/# conda install gdal
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.
(... last time this took 18 hours, I'm not waiting that long to post ...)
jjoonathan commented 4 years ago

geopandas also fails on its own. Starting from sudo docker run -it continuumio/anaconda3

we get:

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.
(... last time this took 18 hours, I'm not waiting that long to post ...)
jjoonathan commented 4 years ago

Starting from sudo docker run -it continuumio/anaconda3

This works, albeit every step is very slow:

conda update anaconda
conda install gdal
conda install geopandas

I'm now going to see if conda update anaconda fixes conda install -c pyviz geoviews.

jjoonathan commented 4 years ago

Indeed, it does. Starting from sudo docker run -it continuumio/anaconda3, this works:

conda update anaconda
conda install -c pyviz geoviews

It seems reasonably clear at this point that this is not a geoviews issue so much as a conda ecosystem issue. I'll close the thread.

jjoonathan commented 4 years ago

Actually, scratch that, should conda update anaconda be added to the README? As it stands, following the README installation instructions does not work on linux.

philippjfr commented 4 years ago

Sorry for all the pain you clearly had to go through here. I'd be happy to accept a PR that suggests that as a fix and lists a minimum conda version.

jjoonathan commented 4 years ago

Unfortunately it looks like the anaconda version that doesn't work has a name ("2020.02") while the anaconda "version" that does work does not have a name. The only concise workaround might be running an update command, which in the future may well have as much chance of breaking things as fixing them. See below.

Ok, so immediately after sudo docker run -it continuumio/anaconda3

I get:

(base) root@c1d5e120a425:/# conda list anaconda
anaconda                  2020.02                  py37_0  
anaconda-client           1.7.2                    py37_0  
anaconda-navigator        1.9.12                   py37_0  
anaconda-project          0.8.4                      py_0  

Attempting to install geoviews results in Solving Environment forever. When I run conda update anaconda, it gives this warning:

The following packages will be DOWNGRADED:
  anaconda                                   2020.02-py37_0 --> custom-py37_1

although most (all?) of the sub packages that I can see are actually being upgraded. Full logs attached . I guess anaconda update anaconda now means approximately what anaconda update --all used to mean, which leads to an undetermined anaconda version, which leads to poor ordering, which leads to update causing a "downgrade"? In any case, after running that command, conda install -c pyviz geoviews works and versions are listed as follows:

(base) root@c1d5e120a425:/# conda list anaconda
_anaconda_depends         2019.03                  py37_0  
anaconda                  custom                   py37_1  
anaconda-client           1.7.2                    py37_0  
anaconda-navigator        1.9.12                   py37_0  
anaconda-project          0.8.4                      py_0  

I am now testing conda update --all, the command recommended here for possible inclusion in the README.

jjoonathan commented 4 years ago

Ok, conda update --all works (that is, after running it, conda install -c pyviz geoviews completes with issue, albeit is has to do a "flexible solve" that takes a long time). PR incoming.

jjoonathan commented 4 years ago

I just set up a new mac, and after a fresh conda install (Anaconda3-2020.02-MacOSX-x86_64) I had the same exact problem:

(base) jonathandewerd@USXZM1MB6HUMD6R ~ % conda install geoviews
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.

which was solved using the exact same solution (running conda update --all and then retrying conda install geoviews).

jbednar commented 4 years ago

It still needs conda install -c pyviz geoviews until we have packages updated on the default channels...

jjoonathan commented 4 years ago

Since I hadn't built heavily on my conda environment I took the opportunity to nuke it (run anaconda-clean and delete /opt/anaconda3) and try again with the correct channel. On top of a fresh Anaconda3-2020.02-MacOSX-x86_64 on Mac OS 10.15.2, it still chokes:

(base) jonathandewerd@USXZM1MB6HUMD6R ~ % conda install -c pyviz geoviews
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.
jjoonathan commented 4 years ago

Since the error looks the same between Mac OS X and linux I went back and dusted off my docker experiments. Here is what I've run so far. "echo AAA-WIN" corresponds to an experiment arbitrarily named AAA that resulted in successful installation while "echo AAF-FAIL" corresponds to an experiment arbitrarily named AAF that resulted in the failure mode seen above.

echo AAA-WIN ; sudo docker run continuumio/anaconda3 conda install -yc pyviz bokeh         datashader               holoviews jupyter matplotlib         numpy pandas param pyct python scipy         xarray
echo AAB-WIN ; sudo docker run continuumio/anaconda3 conda install -yc pyviz bokeh cartopy datashader               holoviews jupyter matplotlib         numpy pandas param pyct python scipy         xarray
echo AAC-WIN ; sudo docker run continuumio/anaconda3 conda install -yc pyviz bokeh         datashader geoviews-core holoviews jupyter matplotlib         numpy pandas param pyct python scipy         xarray
echo AAD-WIN ; sudo docker run continuumio/anaconda3 conda install -yc pyviz bokeh         datashader               holoviews jupyter matplotlib netcdf4 numpy pandas param pyct python scipy         xarray
echo AAE-WIN ; sudo docker run continuumio/anaconda3 conda install -yc pyviz bokeh         datashader               holoviews jupyter matplotlib         numpy pandas param pyct python scipy shapely xarray

echo AAF-FAIL; sudo docker run continuumio/anaconda3 conda install -yc pyviz bokeh cartopy datashader gdal geopandas geoviews-core holoviews jupyter matplotlib netcdf4 numpy pandas param pyct python scipy shapely xarray
echo AAG-FAIL; sudo docker run continuumio/anaconda3 conda install -yc pyviz bokeh cartopy datashader      geopandas geoviews-core holoviews jupyter matplotlib netcdf4 numpy pandas param pyct python scipy shapely xarray
echo AAH-FAIL; sudo docker run continuumio/anaconda3 conda install -yc pyviz bokeh cartopy datashader gdal           geoviews-core holoviews jupyter matplotlib netcdf4 numpy pandas param pyct python scipy shapely xarray
echo AAI-WIN ; sudo docker run continuumio/anaconda3 conda install -yc pyviz bokeh cartopy datashader                geoviews-core holoviews jupyter matplotlib netcdf4 numpy pandas param pyct python scipy shapely xarray
jjoonathan commented 4 years ago

Wow, it looks like this isn't even a scrap between gdal/geopandas and the rest, those packages may be directly responsible. EDIT: this is on Mac OS X, dirty environment.

(base) jonathandewerd@USXZM1MB6HUMD6R ~ % conda install gdal geopandas
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!
jjoonathan commented 4 years ago

Both conda install gdal and conda install geopandas fail with "Found Conflicts!" on Mac OS X. Now trying the conda-forge channel.

jjoonathan commented 4 years ago

Linux experiments (updated with final FAIL/SUCCESS results, the "AA*" is just an experiment tag to keep them straight while running a bunch of them):

echo AAJ-FAIL; sudo docker run continuumio/anaconda3 conda install -y               gdal geopandas
echo AAK-FAIL; sudo docker run continuumio/anaconda3 conda install -y                    geopandas
echo AAL-FAIL; sudo docker run continuumio/anaconda3 conda install -y               gdal 
echo AAM-FAIL; sudo docker run continuumio/anaconda3 conda install -yc conda-forge       geopandas
echo AAN-FAIL; sudo docker run continuumio/anaconda3 conda install -yc conda-forge  gdal 
echo AAO-SUCCESS; sudo docker run continuumio/anaconda3 bash -c 'conda update -y --all; conda install -y -c pyviz geoviews'
jjoonathan commented 4 years ago

New information on Mac OS X:

# Pristine Mac OS X 10.15.2
# Install Anaconda3-2020.02-MacOSX-x86_64.pkg
conda install -y -c pyviz geoviews # Failure
conda update anaconda
conda install -y -c pyviz geoviews # Slow Success (Solving... failed... Solving... failed... Solving... done)
# Pristine Mac OS X 10.15.2
# Install Anaconda3-2020.02-MacOSX-x86_64.pkg
conda install -y -c pyviz geoviews # Failure
conda install -y -c pyviz -c conda-forge geoviews # Success
jlstevens commented 3 years ago

I can confirm that I can't conda install from the pyviz channel in a completely clean miniconda environment. Here is what conda reports and it looks like a GDAL issue to me.

conda install -c pyviz geoviews 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: Package gdal conflicts for: geoviews -> gdal Package bokeh conflicts for: geoviews -> bokeh[version='>=0.12.13|>=1.0.0|>=2.0.0'] Package libffi conflicts for: python=3.8 -> libffi[version='>=3.2.1,<3.3a0|>=3.3,<3.4.0a0'] Package shapely conflicts for: geoviews -> shapely Package geopandas conflicts for: geoviews -> geopandas Package xarray conflicts for: geoviews -> xarray Package jupyter conflicts for: geoviews -> jupyter Package param conflicts for: geoviews -> param[version='>=1.6.1,<2.0|>=1.9.3,<2.0'] Package numpy conflicts for: geoviews -> numpy[version='>=1.0'] Package sqlite conflicts for: python=3.8 -> sqlite[version='>=3.30.0,<4.0a0|>=3.30.1,<4.0a0|>=3.31.1,<4.0a0|>=3.32.3,<4.0a0'] Package libgdal conflicts for: geoviews -> libgdal Package libcxx conflicts for: python=3.8 -> libcxx[version='>=4.0.1'] Package pip conflicts for: python=3.8 -> pip Package holoviews conflicts for: geoviews -> holoviews[version='>=1.10.1|>=1.11.0|>=1.11.1|>=1.13.0|>=1.9.0'] Package geoviews-core conflicts for: geoviews -> geoviews-core[version='1.5.0.*|1.5.1.*|1.5.2.*|1.5.3.*|1.6.0.*|1.6.1.*|1.6.2.*|1.6.3.*|1.6.4.*|1.6.5.*|1.6.6.*|1.7.0.*|1.8.0.*|1.8.1.*|>=1.8.1,<1.8.2.0a0'] Package notebook conflicts for: geoviews -> notebook Package zlib conflicts for: python=3.8 -> zlib[version='>=1.2.11,<1.3.0a0'] Package readline conflicts for: python=3.8 -> readline[version='>=7.0,<8.0a0|>=8.0,<9.0a0'] Package netcdf4 conflicts for: geoviews -> netcdf4[version='<1.4.0'] Package matplotlib conflicts for: geoviews -> matplotlib[version='>2.2'] Package pyct conflicts for: geoviews -> pyct Package tk conflicts for: python=3.8 -> tk[version='>=8.6.10,<8.7.0a0|>=8.6.8,<8.7.0a0'] Package datashader conflicts for: geoviews -> datashader Package scipy conflicts for: geoviews -> scipy Package pandas conflicts for: geoviews -> pandas Package openssl conflicts for: python=3.8 -> openssl[version='>=1.1.1d,<1.1.2a|>=1.1.1e,<1.1.2a|>=1.1.1g,<1.1.2a'] Package xz conflicts for: python=3.8 -> xz[version='>=5.2.4,<6.0a0|>=5.2.5,<6.0a0'] Package cartopy conflicts for: geoviews -> cartopy[version='>=0.14.2|>=0.16.0|>=0.17.0'] Package ncurses conflicts for: python=3.8 -> ncurses[version='>=6.1,<7.0a0|>=6.2,<7.0a0']
jlstevens commented 3 years ago

Note, installing from conda-forge in a fresh env does work fine for me right now.

raybellwaves commented 3 years ago

FYI got a slightly different error message yesterday regarding install via conda.

ray@ray-MS-7B43:~$ conda install -c pyviz geoviews
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
Your installed CUDA driver is: 10.2
jjoonathan commented 3 years ago

Yeah, a new conda version came out last month. I also didn't have success with conda install -c pyviz geoviews but I did have success with:

conda update --all
conda install -c pyviz -c conda-forge geoviews
jlstevens commented 3 years ago

@philippjfr Do you know if there are any updates on this? It would be nice to be able to install geoviews from defaults...

PBrockmann commented 3 years ago

Impossible to install geoviews with last Anaconda distrib (Anaconda3-2020.11-Linux-x86_64.sh).

conda update --all
conda install -c pyviz  geoviews

runs forever

jjoonathan commented 3 years ago

Did you try including -c conda-forge? In my previous post, -c conda-forge was a necessary component, and I have previously observed lack of convergence using just -c pyviz.

PBrockmann commented 3 years ago

Yes, I tried. The installation works but the release that is installed is the 1.5.0, not the last 1.8.2

jbednar commented 3 years ago

Thanks. Does conda install --strict-channel-priority -c pyviz geoviews work?

PBrockmann commented 3 years ago

Nope... Thus, I am very motivated to explore building of dashboards with geoviews...

$ conda install --strict-channel-priority -c pyviz geoviews
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 versions
Note that strict channel priority may have removed packages required for satisfiability.
jbednar commented 3 years ago

Damn. Presumably you can get a working version by starting with Miniconda instead of the Anaconda Distribution, so that it doesn't install so many packages that can conflict, but there's obviously some issues we need to figure out regardless. :-(

PBrockmann commented 3 years ago

Yet a tag from the gitHub source indicates "conda|conda-forge v1.8.2" and should notify that the package is compatible, isn't it ? Let me know by feeding this issue.

khider commented 3 years ago

Started with a clean environment. Fails with the error:

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 versions

A pip list of the environment shows:

Package Version


certifi 2020.11.8 pip 20.2.4 setuptools 50.3.1.post20201107 wheel 0.35.1

PBrockmann commented 3 years ago

It works with Anaconda3-2020.02-Linux-x86_64.sh

conda update --prefix /opt/anaconda3 --all
conda install -c pyviz geoviews

Does not work with later distribs (2020.07, 2020.11).

khider commented 3 years ago

Yes, I'm using 4.9.2 (2020.11). Any word on an update to Geoviews for compatibility with the latest Anaconda versions?

aapawelek commented 3 years ago

I faced the same issue.

Using conda install -c pyviz geoviews in clean environment conda can solve environment for Python 3.7, but can't for Python 3.8 and 3.9.

Using conda install -c conda-forge geoviews in clean environment conda can solve environment for all above.

Edit: I'm using Windows 10.

jlstevens commented 3 years ago

Thanks for reporting that!

The fact that -c pyviz doesn't work for 3.8+ suggests to me that certain binary packages aren't available for 3.8+ on defaults (but are available on conda-forge).

masip85 commented 3 years ago

Same error here installing holoviz from -c pyviz for arm64 based arch.

=> [3/5] RUN conda config --set unsatisfiable_hints True                                                           3.4s
=> ERROR [4/5] RUN conda install -c pyviz holoviz -v &&   conda clean --all -f -y &&   fix-permissions /opt/co  2063.9s                                                                                                             
 > [4/5] RUN conda install -c pyviz holoviz -v &&       conda clean --all -f -y &&      fix-permissions /opt/conda &&   fix-permissions /home/jovyan:                                                                                             
#7 25.51 Collecting package metadata (current_repodata.json): ...working... Unable to retrieve repodata (response: 404) for https://conda.anaconda.org/pyviz/linux-aarch64/current_repodata.json                                                  
#7 27.98                                                                                                                 
#7 86.21 done
#7 86.21 Solving environment: ...working... failed with initial frozen solve. Retrying with flexible solve.
#7 330.9 Solving environment: ...working... failed with repodata from current_repodata.json, will retry with next repodata source.
#7 549.6 Collecting package metadata (repodata.json): ...working... done
#7 693.8 Solving environment: ...working... failed with initial frozen solve. Retrying with flexible solve.

#7 2061.1 Found conflicts! Looking for incompatible packages.
#7 2061.1 This can take several minutes.  Press CTRL-C to abort.
#7 2061.1 failed
Traceback (most recent call last):
#7 2061.1   File "/opt/conda/lib/python3.8/site-packages/conda/cli/install.py", line 261, in install
#7 2061.1     unlink_link_transaction = solver.solve_for_transaction(
#7 2061.1   File "/opt/conda/lib/python3.8/site-packages/conda/core/solve.py", line 114, in solve_for_transaction
#7 2061.1     unlink_precs, link_precs = self.solve_for_diff(update_modifier, deps_modifier,
#7 2061.1   File "/opt/conda/lib/python3.8/site-packages/conda/core/solve.py", line 157, in solve_for_diff
#7 2061.1     final_precs = self.solve_final_state(update_modifier, deps_modifier, prune, ignore_pinned,
#7 2061.1   File "/opt/conda/lib/python3.8/site-packages/conda/core/solve.py", line 281, in solve_final_state
#7 2061.1     ssc = self._run_sat(ssc)
#7 2061.1   File "/opt/conda/lib/python3.8/site-packages/conda/common/io.py", line 88, in decorated
#7 2061.1     return f(*args, **kwds)
#7 2061.1   File "/opt/conda/lib/python3.8/site-packages/conda/core/solve.py", line 815, in _run_sat
#7 2061.1     ssc.solution_precs = ssc.r.solve(tuple(final_environment_specs),
#7 2061.1   File "/opt/conda/lib/python3.8/site-packages/conda/common/io.py", line 88, in decorated
#7 2061.1     return f(*args, **kwds)
#7 2061.1   File "/opt/conda/lib/python3.8/site-packages/conda/resolve.py", line 1320, in solve
#7 2061.1     raise UnsatisfiableError({})
#7 2061.1 conda.exceptions.UnsatisfiableError: 
#7 2061.1 Did not find conflicting dependencies. If you would like to know which
#7 2061.1 packages conflict ensure that you have enabled unsatisfiable hints.
#7 2061.1 
#7 2061.1 conda config --set unsatisfiable_hints True
#7 2061.1             
#7 2061.1 
#7 2061.1 During handling of the above exception, another exception occurred:
#7 2061.1 
#7 2061.1 Traceback (most recent call last):
#7 2061.1   File "/opt/conda/lib/python3.8/site-packages/conda/exceptions.py", line 1079, in __call__
#7 2061.1     return func(*args, **kwargs)
#7 2061.1   File "/opt/conda/lib/python3.8/site-packages/conda/cli/main.py", line 84, in _main
#7 2061.1     exit_code = do_call(args, p)
#7 2061.1   File "/opt/conda/lib/python3.8/site-packages/conda/cli/conda_argparse.py", line 83, in do_call
#7 2061.1     return getattr(module, func_name)(args, parser)
#7 2061.1   File "/opt/conda/lib/python3.8/site-packages/conda/cli/main_install.py", line 20, in execute
#7 2061.1     install(args, parser, 'install')
#7 2061.1   File "/opt/conda/lib/python3.8/site-packages/conda/cli/install.py", line 308, in install
#7 2061.1     raise e
#7 2061.1   File "/opt/conda/lib/python3.8/site-packages/conda/cli/install.py", line 295, in install
#7 2061.1     unlink_link_transaction = solver.solve_for_transaction(
#7 2061.1   File "/opt/conda/lib/python3.8/site-packages/conda/core/solve.py", line 114, in solve_for_transaction
#7 2061.1     unlink_precs, link_precs = self.solve_for_diff(update_modifier, deps_modifier,
#7 2061.1   File "/opt/conda/lib/python3.8/site-packages/conda/core/solve.py", line 157, in solve_for_diff
#7 2061.1     final_precs = self.solve_final_state(update_modifier, deps_modifier, prune, ignore_pinned,
#7 2061.1   File "/opt/conda/lib/python3.8/site-packages/conda/core/solve.py", line 275, in solve_final_state
#7 2061.1     ssc = self._add_specs(ssc)
#7 2061.1   File "/opt/conda/lib/python3.8/site-packages/conda/core/solve.py", line 704, in _add_specs
#7 2061.1     ssc.r.find_conflicts(spec_set)
#7 2061.1   File "/opt/conda/lib/python3.8/site-packages/conda/resolve.py", line 352, in find_conflicts
#7 2061.1     raise UnsatisfiableError(bad_deps, strict=strict_channel_priority)
#7 2061.1 conda.exceptions.UnsatisfiableError: The following specifications were found
#7 2061.1 to be incompatible with the existing python installation in your environment:
#7 2061.1 
#7 2061.1 Specifications:
#7 2061.1 
#7 2061.1   - holoviz -> python[version='3.6.12|3.6.12|>=2.7|>=3.6,<3.7.0a0|>=3.8,<3.9.0a0|>=3.7,<3.8.0a0|>=3.9,<3.10.0a0|>=3|3.7.9|3.6.9|3.6.9|3.6.9|3.6.9|>=2.7,<2.8.0a0|>=3.5',build='2_73_pypy|4_73_pypy|5_73_pypy|3_73_pypy|1_73_pypy|0_73_pypy']
#7 2061.1 
#7 2061.1 Your python: python=3.8
#7 2061.1 
#7 2061.1 If python is on the left-most side of the chain, that's the version you've asked for.
#7 2061.1 When python appears to the right, that indicates that the thing on the left is somehow
#7 2061.1 not available for the python version you are constrained to. Note that conda will not
#7 2061.1 change your python version to a different minor version unless you explicitly specify
#7 2061.1 that.
#7 2061.1 
#7 2061.1 
#7 2061.1 
------
error: failed to solve: rpc error: code = Unknown desc = executor failed running [/bin/bash -o pipefail -c conda install -c pyviz holoviz -v &&          conda clean --all -f -y &&      fix-permissions $CONDA_DIR &&   fix-permissions /home/$NB_USER]: exit code: 1

If you are wondering which conda i am using it's here:

--build-arg conda_version="4.9.2"
--build-arg miniforge_patch_number="5" \
--build-arg miniforge_python="Miniforge3" \
--build-arg miniforge_arch="aarch64" \
paomichelle commented 3 years ago

Hello, I am also having issues trying to install geoviews with Conda. I am currently using Python 3.9, and I have tried using conda install -c pyviz geoviews and conda install -c conda-forge geoviews. I have also tried re-installing and updating conda, and using a py39 environment. However, I always get the same problem.

I would appreciate any help!

philippjfr commented 3 years ago

Python 3.9 is still very new and I imagine half the geo-stack is not yet available. I'd stick with Python 3.7 or 3.8 for the time being.

jmponce84 commented 3 years ago

I have tried with Conda and Python 3.6, 3.7, 3.8, and 3.9. It always fails.... I only managed to install it using Poetry and fiddling a lot with the versions of the packages. And as soon as new dependencies are added, the project becomes unmanageable....

philippjfr commented 3 years ago

Honestly, as far as I can tell the geo-dependencies on conda defaults are pretty broken right now. So best thing I can suggest is to install from conda-forge with conda install -c conda-forge geoviews or you could try only installing the core dependencies with conda install geoviews-core.

brl0 commented 3 years ago

I have seen issues with geo-dependencies, most typically when mixing defaults and conda-forge channels in an environment. It might be worth trying to create a fresh environment based primarily on the conda-forge channel, with something like: conda create -n geo -c conda-forge geoviews Also, maintaining consistency with channel priority for new packages added to an environment helps reduce the painful issues you might otherwise encounter, so unless conda-forge is specifically added as a higher priority channel than defaults in the conda config, it is best to specify using the conda-forge channel for any new dependencies added.

jamesvrt commented 3 years ago

I couldn't get it to work any of the ways listed above on Ubuntu with conda. It always hangs at solving environment. I tried conda-forge and pyviz channels, as well as via pip installation. I've tried python=3.5/6/7/8/9, geoviews-core, etc. . Interestingly, I couldn't install the dependency cartopy any way I tried either, nor proj which it depends on.

However, I did get geoviews working on a Debian-based docker container.

sudo docker pull continuumio/miniconda3
sudo docker run -i -t continuumio/miniconda3 /bin/bash
conda create -n gv_env -c conda-forge geoviews
jamesvrt commented 3 years ago

Okay, I managed to get it working on my Ubuntu OS (no docker) by uninstalling miniconda3 (version Miniconda3-py39_4.9.2-Linux-x86_64.sh) and installing the same (outdated) version as in the continuumio/miniconda3 dockerfile.

rm -r ~/miniconda3/
wget https://repo.anaconda.com/miniconda/Miniconda3-4.5.11-Linux-x86_64.sh
bash Miniconda3-4.5.11-Linux-x86_64.sh

Go through the install process then

conda create -n gv_env -c conda-forge geoviews

This works with Python 3.9, so the Python version isn't to blame for this problem, I don't think.