Running examples/recipe_python.yml in a new installation results in a crash. This can be solved by using version 1 of dask (version 2 was released just a few days ago). I'm not sure whether this is a problem with dask or the way iris uses dask.
2019-07-01 14:29:40,353 [7436] INFO diagnostic.py,89 Processing variable air_temperature
2019-07-01 14:29:40,353 [7436] INFO diagnostic.py,91 Processing dataset CanESM2
2019-07-01 14:29:40,353 [7436] DEBUG diagnostic.py,41 Loading /home/bandela/esmvaltool_output/recipe_python_20190701_141848/preproc/diagnostic1/ta/CMIP5_CanESM2_Amon_historical_r1i1p1_ta_2000-2002.nc
2019-07-01 14:29:40,405 [7436] DEBUG diagnostic.py,44 Running example computation
Fatal Python error: Cannot recover from stack overflow.
Thread 0x00007f2b6effd700 (most recent call first):
File "/home/bandela/conda/envs/test/lib/python3.7/multiprocessing/pool.py", line 470 in _handle_results
File "/home/bandela/conda/envs/test/lib/python3.7/threading.py", line 865 in run
File "/home/bandela/conda/envs/test/lib/python3.7/threading.py", line 917 in _bootstrap_inner
File "/home/bandela/conda/envs/test/lib/python3.7/threading.py", line 885 in _bootstrap
Thread 0x00007f2b6f7fe700 (most recent call first):
File "/home/bandela/conda/envs/test/lib/python3.7/multiprocessing/pool.py", line 422 in _handle_tasks
File "/home/bandela/conda/envs/test/lib/python3.7/threading.py", line 865 in run
File "/home/bandela/conda/envs/test/lib/python3.7/threading.py", line 917 in _bootstrap_inner
File "/home/bandela/conda/envs/test/lib/python3.7/threading.py", line 885 in _bootstrap
Thread 0x00007f2b6ffff700 (most recent call first):
File "/home/bandela/conda/envs/test/lib/python3.7/multiprocessing/pool.py", line 413 in _handle_workers
File "/home/bandela/conda/envs/test/lib/python3.7/threading.py", line 865 in run
File "/home/bandela/conda/envs/test/lib/python3.7/threading.py", line 917 in _bootstrap_inner
File "/home/bandela/conda/envs/test/lib/python3.7/threading.py", line 885 in _bootstrap
Thread 0x00007f2b7cf38700 (most recent call first):
File "/home/bandela/conda/envs/test/lib/python3.7/multiprocessing/pool.py", line 110 in worker
File "/home/bandela/conda/envs/test/lib/python3.7/threading.py", line 865 in run
File "/home/bandela/conda/envs/test/lib/python3.7/threading.py", line 917 in _bootstrap_inner
File "/home/bandela/conda/envs/test/lib/python3.7/threading.py", line 885 in _bootstrap
Thread 0x00007f2b9d6f7700 (most recent call first):
File "/home/bandela/conda/envs/test/lib/python3.7/multiprocessing/pool.py", line 110 in worker
File "/home/bandela/conda/envs/test/lib/python3.7/threading.py", line 865 in run
File "/home/bandela/conda/envs/test/lib/python3.7/threading.py", line 917 in _bootstrap_inner
File "/home/bandela/conda/envs/test/lib/python3.7/threading.py", line 885 in _bootstrap
Thread 0x00007f2b9cef6700 (most recent call first):
File "/home/bandela/conda/envs/test/lib/python3.7/multiprocessing/pool.py", line 110 in worker
File "/home/bandela/conda/envs/test/lib/python3.7/threading.py", line 865 in run
File "/home/bandela/conda/envs/test/lib/python3.7/threading.py", line 917 in _bootstrap_inner
File "/home/bandela/conda/envs/test/lib/python3.7/threading.py", line 885 in _bootstrap
Thread 0x00007f2b9c6f5700 (most recent call first):
File "/home/bandela/conda/envs/test/lib/python3.7/multiprocessing/pool.py", line 110 in worker
File "/home/bandela/conda/envs/test/lib/python3.7/threading.py", line 865 in run
File "/home/bandela/conda/envs/test/lib/python3.7/threading.py", line 917 in _bootstrap_inner
File "/home/bandela/conda/envs/test/lib/python3.7/threading.py", line 885 in _bootstrap
Current thread 0x00007f2ba0cc3740 (most recent call first):
File "/home/bandela/conda/envs/test/lib/python3.7/inspect.py", line 2469 in __init__
File "/home/bandela/conda/envs/test/lib/python3.7/inspect.py", line 2154 in _signature_from_function
File "/home/bandela/conda/envs/test/lib/python3.7/inspect.py", line 2284 in _signature_from_callable
File "/home/bandela/conda/envs/test/lib/python3.7/inspect.py", line 2378 in _signature_from_callable
File "/home/bandela/conda/envs/test/lib/python3.7/inspect.py", line 2833 in from_callable
File "/home/bandela/conda/envs/test/lib/python3.7/inspect.py", line 3083 in signature
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/utils.py", line 1325 in has_keyword
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/core.py", line 530 in map_blocks
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/core.py", line 1952 in map_blocks
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/core.py", line 2113 in copy
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/utils.py", line 854 in __call__
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/utils.py", line 122 in compute_meta
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/blockwise.py", line 233 in blockwise
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/core.py", line 566 in map_blocks
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/core.py", line 1952 in map_blocks
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/core.py", line 2113 in copy
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/utils.py", line 854 in __call__
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/utils.py", line 122 in compute_meta
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/blockwise.py", line 233 in blockwise
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/core.py", line 566 in map_blocks
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/core.py", line 1952 in map_blocks
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/core.py", line 2113 in copy
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/utils.py", line 854 in __call__
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/utils.py", line 122 in compute_meta
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/blockwise.py", line 233 in blockwise
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/core.py", line 566 in map_blocks
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/core.py", line 1952 in map_blocks
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/core.py", line 2113 in copy
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/utils.py", line 854 in __call__
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/utils.py", line 122 in compute_meta
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/blockwise.py", line 233 in blockwise
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/core.py", line 566 in map_blocks
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/core.py", line 1952 in map_blocks
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/core.py", line 2113 in copy
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/utils.py", line 854 in __call__
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/utils.py", line 122 in compute_meta
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/blockwise.py", line 233 in blockwise
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/core.py", line 566 in map_blocks
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/core.py", line 1952 in map_blocks
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/core.py", line 2113 in copy
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/utils.py", line 854 in __call__
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/utils.py", line 122 in compute_meta
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/blockwise.py", line 233 in blockwise
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/core.py", line 566 in map_blocks
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/core.py", line 1952 in map_blocks
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/core.py", line 2113 in copy
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/utils.py", line 854 in __call__
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/utils.py", line 122 in compute_meta
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/blockwise.py", line 233 in blockwise
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/core.py", line 566 in map_blocks
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/core.py", line 1952 in map_blocks
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/core.py", line 2113 in copy
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/utils.py", line 854 in __call__
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/utils.py", line 122 in compute_meta
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/blockwise.py", line 233 in blockwise
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/core.py", line 566 in map_blocks
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/core.py", line 1952 in map_blocks
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/core.py", line 2113 in copy
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/utils.py", line 854 in __call__
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/utils.py", line 122 in compute_meta
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/blockwise.py", line 233 in blockwise
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/core.py", line 566 in map_blocks
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/core.py", line 1952 in map_blocks
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/core.py", line 2113 in copy
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/utils.py", line 854 in __call__
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/utils.py", line 122 in compute_meta
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/blockwise.py", line 233 in blockwise
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/core.py", line 566 in map_blocks
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/core.py", line 1952 in map_blocks
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/core.py", line 2113 in copy
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/utils.py", line 854 in __call__
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/utils.py", line 122 in compute_meta
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/blockwise.py", line 233 in blockwise
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/core.py", line 566 in map_blocks
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/core.py", line 1952 in map_blocks
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/core.py", line 2113 in copy
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/utils.py", line 854 in __call__
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/utils.py", line 122 in compute_meta
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/blockwise.py", line 233 in blockwise
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/core.py", line 566 in map_blocks
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/core.py", line 1952 in map_blocks
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/core.py", line 2113 in copy
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/utils.py", line 854 in __call__
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/utils.py", line 122 in compute_meta
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/blockwise.py", line 233 in blockwise
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/core.py", line 566 in map_blocks
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/core.py", line 1952 in map_blocks
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/core.py", line 2113 in copy
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/utils.py", line 854 in __call__
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/utils.py", line 122 in compute_meta
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/blockwise.py", line 233 in blockwise
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/core.py", line 566 in map_blocks
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/core.py", line 1952 in map_blocks
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/core.py", line 2113 in copy
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/utils.py", line 854 in __call__
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/utils.py", line 122 in compute_meta
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/blockwise.py", line 233 in blockwise
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/core.py", line 566 in map_blocks
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/core.py", line 1952 in map_blocks
File "/home/bandela/conda/envs/test/lib/python3.7/site-packages/dask/array/core.py", line 2113 in copy
...
this has been reported to me as well by a user from China (see attached stack report).
I am trying to reproduce the issue but currently the anaconda stack is unreachable (Bad gateway 502). I suspect there is an issue with the newest iris rather than dask; has iris moved up in version?
liangliang.txt
I had the same problem today as well (on DKRZ).
note that I am unable to reproduce the error just by upgrading dask:
$ conda list dask
# packages in environment at /home/valeriu/anaconda3/envs/esmv:
#
# Name Version Build Channel
dask 2.0.0 py_0 conda-forge
dask-core 2.0.0 py_0 conda-forge
and iris has not yet moved up in version,
Creating a brand new environment does not allow replication either. OS is Ubuntu, am trying now on Jasmin's Red Hat
OK it works fine for me on Jasmin with dask=2.0.0 @bouweandela @schlunma can you try again, guys?
Nahh I spoke too soon - the diagnostic itself is dying with Fatal Python error: Cannot recover from stack overflow.
this is the offending bit: cube.collapsed('time', iris.analysis.MEAN)
OK I found the problem - it is collapsing on time that is causing it, specifically: in cube.py in func: collapsed
for dim in dims_to_collapse:
indices[dim] = 0
collapsed_cube = self[tuple(indices)]
it has nothing to do with the cube per se but rather the cube slicing ie that slicing is done like
cube[(0, slice(None, None, None), slice(None, None, None), slice(None, None, None))]
even if you lad a (any) cube and try slicing it like that you get the stack overflow error.
That is from dask.slicing that has changed quite a bit since dask=1.1.2 so I wouldnt be able to point to what's causing it. More importantly it seems to be an issue specific to dask and not iris
cross-assigning Bill @bjlittle since this is a dask via iris in esmvaltool problem :beer:
@valeriupredoi Thanks. I'll discuss this with the dask guys. For the interim, we've pinned dask<2 oniris master, otherwise our Travis CI fails.
@valeriupredoi dask has just release 2.1.0... I'm re-running our iris Travis CI tests and unpinning dask to use the latest version (we just recently pinned iris to dask<2 to avoid the stack overflow issue in Travis CI).
It seems to be working for us - there are some new issues to resolve when using dask 2.1.0 under iris, but at first glance this just seems to involve us updating a couple of our tests. I certainly can't recreate the stack overflow on Travic CI with the latest dask.
@valeriupredoi @bouweandela @schlunma Can you try dask 2.1.0 and see if this resolves the issue on your side?
@bjlittle ace, man, cheers for the heads up! will test today! :beer:
OK good newskies! dask=2.1.0 does not produce the stackoverflow error anymore, recipe_python.yml runs through and the slicing is done error-free now:
cube = iris.load_cube("/group_workspaces/jasmin4/ncas_cms/valeriu/strato_data/ta_Amon_UKESM1-0-LL-piCont_piControl_r1i1p1f2_gn_2004-2014.nc")
print(cube[(0, slice(None, None, None), slice(None, None, None), slice(None, None, None))])
@bouweandela we should edit the environment.yml file for dask>=2.1.0
cheers @bjlittle :beer:
@valeriupredoi Happy days :wink:
I guess you guys can close this issue down. BTW all our iris Travis CI tests are now passing using dask 2.1.0.
@valeriupredoi Are you okay if I now close down your associated iris issue https://github.com/SciTools/iris/issues/3346?
@valeriupredoi Happy days wink
I guess you guys can close this issue down. BTW all our
irisTravis CI tests are now passing usingdask2.1.0.
sweet! we'll close this when we've edited and pushed the version requirement in the environment file
@valeriupredoi Are you okay if I now close down your associated
irisissue SciTools/iris#3346?
Absoluteness! no reason to keep it at your end if yous happy :beer:
@bjlittle a word of warning - installing iris from conda via conda install -c conda-forge iris will not pick up the latest dask, in fact it will pick up a very ye olde version - is this what you guys want?
valeriu@valeriu-PORTEGE-Z30-C:~$ conda list iris
# packages in environment at /home/valeriu/anaconda3:
#
# Name Version Build Channel
iris 2.2.1 py36_0 conda-forge
valeriu@valeriu-PORTEGE-Z30-C:~$ conda list dask
# packages in environment at /home/valeriu/anaconda3:
#
# Name Version Build Channel
dask 0.16.1 py36_0
dask-core 0.16.1 py36_0
note: this installation is not done part of an environment creation, it is the simple-Joe install iris for the first time on a machine
I have tested the environment creation and installation of esmvaltool and it does pick up dask=2.1.0 (as the latest version) w/o pinning it in the environment file; tool installs correctly and runs fine, so am gonna close this - @bjlittle have a look at my pointer above for installing iris as a stand alone package and its dask, but as far as we're concerned this is a-OK since all stuffs is inside virtenvs for us :beer:
@valeriupredoi Thanks.... slightly confused though. For me I get...
> conda create -n iris-test -c conda-forge iris
Collecting package metadata (current_repodata.json): done
Solving environment: done
## Package Plan ##
environment location: /tmp/persistent/itwl/miniconda3/envs/iris-test
added / updated specs:
- iris
The following NEW packages will be INSTALLED:
_libgcc_mutex pkgs/main/linux-64::_libgcc_mutex-0.1-main
antlr-python-runt~ conda-forge/linux-64::antlr-python-runtime-4.7.2-py37_1000
asn1crypto conda-forge/linux-64::asn1crypto-0.24.0-py37_1003
bokeh conda-forge/linux-64::bokeh-1.2.0-py37_0
bzip2 conda-forge/linux-64::bzip2-1.0.6-h14c3975_1002
ca-certificates conda-forge/linux-64::ca-certificates-2019.6.16-hecc5488_0
cartopy conda-forge/linux-64::cartopy-0.17.0-py37h0aa2c8f_1004
certifi conda-forge/linux-64::certifi-2019.6.16-py37_0
cf-units conda-forge/linux-64::cf-units-2.1.1-py37h3010b51_1000
cffi conda-forge/linux-64::cffi-1.12.3-py37h8022711_0
cftime conda-forge/linux-64::cftime-1.0.3.4-py37hd352d35_1001
chardet conda-forge/linux-64::chardet-3.0.4-py37_1003
click conda-forge/noarch::click-7.0-py_0
cloudpickle conda-forge/noarch::cloudpickle-1.2.1-py_0
cryptography conda-forge/linux-64::cryptography-2.7-py37h72c5cf5_0
curl conda-forge/linux-64::curl-7.64.1-hf8cf82a_0
cycler conda-forge/noarch::cycler-0.10.0-py_1
cytoolz conda-forge/linux-64::cytoolz-0.9.0.1-py37h14c3975_1001
dask conda-forge/noarch::dask-2.1.0-py_0
dask-core conda-forge/noarch::dask-core-2.1.0-py_0
dbus conda-forge/linux-64::dbus-1.13.6-he372182_0
distributed conda-forge/noarch::distributed-2.1.0-py_0
expat conda-forge/linux-64::expat-2.2.5-he1b5a44_1003
fontconfig conda-forge/linux-64::fontconfig-2.13.1-he4413a7_1000
freetype conda-forge/linux-64::freetype-2.10.0-he983fc9_0
geos conda-forge/linux-64::geos-3.7.1-hf484d3e_1000
gettext conda-forge/linux-64::gettext-0.19.8.1-hc5be6a0_1002
glib conda-forge/linux-64::glib-2.58.3-h6f030ca_1001
gst-plugins-base conda-forge/linux-64::gst-plugins-base-1.14.5-h0935bb2_0
gstreamer conda-forge/linux-64::gstreamer-1.14.5-h36ae1b5_0
hdf4 conda-forge/linux-64::hdf4-4.2.13-h9a582f1_1002
hdf5 conda-forge/linux-64::hdf5-1.10.5-nompi_h3c11f04_1100
heapdict conda-forge/linux-64::heapdict-1.0.0-py37_1000
icu conda-forge/linux-64::icu-58.2-hf484d3e_1000
idna conda-forge/linux-64::idna-2.8-py37_1000
iris conda-forge/linux-64::iris-2.2.1-py37_0
jinja2 conda-forge/noarch::jinja2-2.10.1-py_0
jpeg conda-forge/linux-64::jpeg-9c-h14c3975_1001
kiwisolver conda-forge/linux-64::kiwisolver-1.1.0-py37hc9558a2_0
krb5 conda-forge/linux-64::krb5-1.16.3-h05b26f9_1001
libblas conda-forge/linux-64::libblas-3.8.0-10_openblas
libcblas conda-forge/linux-64::libcblas-3.8.0-10_openblas
libcurl conda-forge/linux-64::libcurl-7.64.1-hda55be3_0
libedit conda-forge/linux-64::libedit-3.1.20170329-hf8c457e_1001
libffi conda-forge/linux-64::libffi-3.2.1-he1b5a44_1006
libgcc-ng pkgs/main/linux-64::libgcc-ng-9.1.0-hdf63c60_0
libgfortran-ng pkgs/main/linux-64::libgfortran-ng-7.3.0-hdf63c60_0
libiconv conda-forge/linux-64::libiconv-1.15-h516909a_1005
liblapack conda-forge/linux-64::liblapack-3.8.0-10_openblas
libnetcdf conda-forge/linux-64::libnetcdf-4.6.2-h056eaf5_1002
libopenblas conda-forge/linux-64::libopenblas-0.3.6-h6e990d7_4
libpng conda-forge/linux-64::libpng-1.6.37-hed695b0_0
libssh2 conda-forge/linux-64::libssh2-1.8.2-h22169c7_2
libstdcxx-ng pkgs/main/linux-64::libstdcxx-ng-9.1.0-hdf63c60_0
libtiff conda-forge/linux-64::libtiff-4.0.10-h57b8799_1003
libuuid conda-forge/linux-64::libuuid-2.32.1-h14c3975_1000
libxcb conda-forge/linux-64::libxcb-1.13-h14c3975_1002
libxml2 conda-forge/linux-64::libxml2-2.9.9-h13577e0_1
locket conda-forge/noarch::locket-0.2.0-py_2
lz4-c conda-forge/linux-64::lz4-c-1.8.3-he1b5a44_1001
markupsafe conda-forge/linux-64::markupsafe-1.1.1-py37h14c3975_0
matplotlib pkgs/main/linux-64::matplotlib-2.2.3-py37hb69df0a_0
msgpack-python conda-forge/linux-64::msgpack-python-0.6.1-py37h6bb024c_0
ncurses conda-forge/linux-64::ncurses-6.1-hf484d3e_1002
netcdf4 conda-forge/linux-64::netcdf4-1.5.1.2-py37h73a1b54_1
numpy conda-forge/linux-64::numpy-1.16.4-py37h95a1406_0
olefile conda-forge/noarch::olefile-0.46-py_0
openblas conda-forge/linux-64::openblas-0.3.6-h6e990d7_4
openssl conda-forge/linux-64::openssl-1.1.1c-h516909a_0
owslib conda-forge/noarch::owslib-0.18.0-py_0
packaging conda-forge/noarch::packaging-19.0-py_0
pandas conda-forge/linux-64::pandas-0.24.2-py37hb3f55d8_0
partd conda-forge/noarch::partd-1.0.0-py_0
pcre conda-forge/linux-64::pcre-8.41-hf484d3e_1003
pillow conda-forge/linux-64::pillow-6.1.0-py37he7afcd5_0
proj4 conda-forge/linux-64::proj4-5.2.0-he1b5a44_1003
psutil conda-forge/linux-64::psutil-5.6.3-py37h516909a_0
pthread-stubs conda-forge/linux-64::pthread-stubs-0.4-h14c3975_1001
pycparser conda-forge/linux-64::pycparser-2.19-py37_1
pyepsg conda-forge/noarch::pyepsg-0.4.0-py_0
pykdtree conda-forge/linux-64::pykdtree-1.3.1-py37h3010b51_1002
pyke conda-forge/linux-64::pyke-1.1.1-py37_1000
pyopenssl conda-forge/linux-64::pyopenssl-19.0.0-py37_0
pyparsing conda-forge/noarch::pyparsing-2.4.0-py_0
pyproj conda-forge/linux-64::pyproj-1.9.6-py37h516909a_1002
pyqt conda-forge/linux-64::pyqt-5.9.2-py37hcca6a23_0
pyshp conda-forge/noarch::pyshp-2.1.0-py_0
pysocks conda-forge/linux-64::pysocks-1.7.0-py37_0
python conda-forge/linux-64::python-3.7.3-h33d41f4_1
python-dateutil conda-forge/noarch::python-dateutil-2.8.0-py_0
pytz conda-forge/noarch::pytz-2019.1-py_0
pyyaml conda-forge/linux-64::pyyaml-5.1.1-py37h516909a_0
qt conda-forge/linux-64::qt-5.9.7-h52cfd70_2
readline conda-forge/linux-64::readline-8.0-hf8c457e_0
requests conda-forge/linux-64::requests-2.22.0-py37_0
scipy conda-forge/linux-64::scipy-1.3.0-py37h921218d_0
setuptools conda-forge/linux-64::setuptools-41.0.1-py37_0
shapely conda-forge/linux-64::shapely-1.6.4-py37h06cd6f9_1005
sip conda-forge/linux-64::sip-4.19.8-py37hf484d3e_1000
six conda-forge/linux-64::six-1.12.0-py37_1000
sortedcontainers conda-forge/noarch::sortedcontainers-2.1.0-py_0
sqlite conda-forge/linux-64::sqlite-3.29.0-hcee41ef_0
tblib conda-forge/noarch::tblib-1.4.0-py_0
tk conda-forge/linux-64::tk-8.6.9-hed695b0_1002
toolz conda-forge/noarch::toolz-0.9.0-py_1
tornado conda-forge/linux-64::tornado-6.0.3-py37h516909a_0
udunits2 conda-forge/linux-64::udunits2-2.2.27.6-h4e0c4b3_1001
urllib3 conda-forge/linux-64::urllib3-1.24.3-py37_0
xorg-libxau conda-forge/linux-64::xorg-libxau-1.0.9-h14c3975_0
xorg-libxdmcp conda-forge/linux-64::xorg-libxdmcp-1.1.3-h516909a_0
xz conda-forge/linux-64::xz-5.2.4-h14c3975_1001
yaml conda-forge/linux-64::yaml-0.1.7-h14c3975_1001
zict conda-forge/noarch::zict-1.0.0-py_0
zlib conda-forge/linux-64::zlib-1.2.11-h14c3975_1004
zstd conda-forge/linux-64::zstd-1.4.0-h3b9ef0a_0
So this pulls in iris 2.2.1 and dask 2.1.0.
Note quite sure what's going on at your end. Perhaps there is an ESMValTool centric dependency that is pulling dask down to an older version?
BTW I've found that it's best to blow away old conda environments, and start afresh, as sometime you can get some package dependency oddness.
I'm assuming that you can get the latest iris and dask in a new conda environment, right?
note: this installation is not done part of an environment creation, it is the simple-Joe install
irisfor the first time on a machine
Bill, installing iris within an environment pulls the latest iris and dask; when installing iris as a stand alone package (no environment involved), just when you want to get iris only:
[joepesci@italian-computer]$ conda list iris
#
# Name Version Build Channel
[joepesci@italian-computer]$ conda install -c conda-forge iris
OK I repeated the process from the point of a brand new install of anaconda:
[valeriu@jasmin-sci2 ~]$ bash Anaconda3-2019.03-Linux-x86_64.sh
[valeriu@jasmin-sci2 ~]$ export PATH=/home/users/valeriu/anaconda3/bin:$PATH
[valeriu@jasmin-sci2 ~]$ conda update -n base conda
[valeriu@jasmin-sci2 ~]$ conda install -c conda-forge iris
[valeriu@jasmin-sci2 ~]$ conda list iris
# packages in environment at /home/users/valeriu/anaconda3:
#
# Name Version Build Channel
iris 2.2.0 py37_1003 conda-forge
[valeriu@jasmin-sci2 ~]$ conda list dask
# packages in environment at /home/users/valeriu/anaconda3:
#
# Name Version Build Channel
dask 1.1.4 py37_1
dask-core 1.1.4 py37_1
[valeriu@jasmin-sci2 ~]$ conda --version
conda 4.7.5
so iris 2.2.1 and dask 2.1.0 are not defaults for basic installations outside environments...
@valeriupredoi Sorry, but I can't recreate this behaviour.
I've downloaded the latest Miniconda3, then installed iris from conda-forge and I get iris 2.2.1 and dask 2.1.0.
Note quite sure what's going on at your end - can't quite explain it. Conda will always get the latest version of a package, if a pin is not provided. As you can see, the latest version of iris on conda-forge is 2.2.1, see here.
You don't have anything weird set-up in you ~/.condarc ?
What happens if you try to do:
> conda install -c conda-forge iris=2.2.1
@valeriupredoi Sorry, but I can't recreate this behaviour.
I've downloaded the latest Miniconda3, then installed
irisfromconda-forgeand I getiris 2.2.1anddask 2.1.0.Note quite sure what's going on at your end - can't quite explain it. Conda will always get the latest version of a package, if a pin is not provided. As you can see, the latest version of
irisonconda-forgeis2.2.1, see here.
yes, totally awares of conda's workflow, hence a bit confused as to why it's doing this
I don't have a ~/.condarc
Let's just forget about it, unless there are other users reporting such issues, I'll call it some weird stuff happening at my end, which doesn't affect me a bit so yeah, forget about it :grin:
btw actually try anaconda rather than miniconda, I found out what's the weird stuff at my end (latest Anaconda this is):
[valeriu@jasmin-sci2 esmvaltool]$ conda install -c conda-forge iris=2.2.1
WARNING conda.base.context:use_only_tar_bz2(632): Conda is constrained to only using the old .tar.bz2 file format because you have conda-build installed, and it is <3.18.3. Update or remove conda-build to get smaller downloads and faster extractions.
Collecting package metadata (repodata.json): done
Solving environment: failed
UnsatisfiableError: The following specifications were found to be incompatible with each other:
- anaconda==2019.03=py37_0 -> importlib_metadata==0.8=py37_0
- anaconda==2019.03=py37_0 -> matplotlib==3.0.3=py37h5429711_0
- anaconda==2019.03=py37_0 -> pango==1.42.4=h049681c_0
- cartopy -> matplotlib
- iris=2.2.1 -> cartopy[version='>=0.14'] -> matplotlib
- matplotlib
- pango
- pkgs/main/linux-64::importlib_metadata==0.8=py37_0
- pkgs/main/linux-64::path.py==11.5.0=py37_0 -> importlib_metadata[version='>=0.5']
it works well in an environment tho, the base is fussy by the looks of it
Nice detective work :male_detective: ... and good to know!
Cheers fella :+1:
ah I know what it is! it's conda's inability to downgrade matplotlib to 2.2.4 (latest version working with iris) and it's keeping it to 3.0.3 then throwing a fit - and this is why you are not seeing this since miniconda does not come with matplotlib, it gets installed via iris rather than via anaconda
You guys may want to add a note about this on the site somewhere
iris is pinned to matplotlib >=2,<3 as we're still supporting Python2 and Python3, as matplotlib3+ is Python3 only.
We're scheduling iris 3.0.0, which will be Python3 only on 5 Nov 2019, see https://github.com/scitools/iris/milestones
all sweet and dandy, but make sure you tell your users to use miniconda instead of anaconda so they don't run in what I've just run into (if they don't use virtual envs) (if this is not already in the iris documentation) :beer:
We're scheduling iris 3.0.0, which will be Python3 only on 5 Nov 2019, see https://github.com/scitools/iris/milestones
Wohoo! I remember I asked you at the workshop in Oberpf... if 3.0 is gonna be breaking all sorts of deps for ESMValTool and you said nay...just making sure I get a written account of it as well :rofl:
@valeriupredoi Well, I'll go as far as saying that I'd be surprised if the move to iris 3.0.0 will break any dependencies. If anything it will allow us to open up some dependencies i.e. move to matplotlib 3.x, but I suspect that we'd do that after the release of 3.0.0, say in iris 3.1.0
cheers Bill-san :beer:
Most helpful comment
OK good newskies!
dask=2.1.0does not produce the stackoverflow error anymore,recipe_python.ymlruns through and the slicing is done error-free now:@bouweandela we should edit the
environment.ymlfile fordask>=2.1.0