Conda-forge.github.io: Warning about decorator module

Created on 7 Jul 2016  路  12Comments  路  Source: conda-forge/conda-forge.github.io

I'm not sure exactly which package is causing this, but I'm seeing the following warnings on AppVeyor when installing packages from the conda-forge channel:

[00:01:05] The following NEW packages will be INSTALLED:
[00:01:05] 
[00:01:05]     astropy:                            1.2.1-np111py34_0              
[00:01:05]     backports.shutil_get_terminal_size: 1.0.0-py34_0        conda-forge
[00:01:05]     backports_abc:                      0.4-py34_0          conda-forge
[00:01:05]     colorama:          
[00:01:05]                  0.3.7-py34_0        conda-forge
[00:01:05]     cycler:  
[00:02:57] WARNING:conda.install:file already exists: 'C:\\conda\\envs\\test\\Lib/site-packages/__pycache__/decorator.cpython-34.pyc'
[00:02:57] WARNING:conda.install:file already exists: 'C:\\conda\\envs\\test\\Lib/site-packages/decorator-4.0.10-py3.4.egg-info/PKG-INFO'
[00:02:57] WARNING:conda.install:file already exists: 'C:\\conda\\envs\\test\\Lib/site-packages/decorator-4.0.10-py3.4.egg-info/SOURCES.txt'
[00:02:57] WARNING:conda.install:file already exists: 'C:\\conda\\envs\\test\\Lib/site-packages/decorator-4.0.10-py3.4.egg-info/dependency_links.txt'
[00:02:57] WARNING:conda.install:file already exists: 'C:\\conda\\envs\\test\\Lib/site-packages/decorator-4.0.10-py3.4.egg-info/not-zip-safe'
[00:02:57] WARNING:conda.install:file already exists: 'C:\\conda\\envs\\test\\Lib/site-packages/decorator-4.0.10-py3.4.egg-info/top_level.txt'
[00:02:57] WARNING:conda.install:file already exists: 'C:\\conda\\envs\\test\\Lib/site-packages/decorator.py'
[00:03:03]                            0.10.0-py34_0       conda-forge

Full log here: https://gist.github.com/astrofrog/dd3b4bcb3dbf4576435e8884e72e6712

All 12 comments

This is probably another naming issue. conda-forge's is python-decorator while defaults is decorator :unamused: (Note the double decorator install in your log.)

@pelson I will remove the python-decorator from conda-forge for now and send PRs changing python-decorator to decorator to the feedstocks that use it to avoid that warning. If that is OK we can then rename the conda-forge package to decorator.

Agreed. Thanks @ocefpaf. If you are happy to do so, start by putting a PR in python-decorator which changes the package name. We can deal with the repo renaming at a later date.

Doing that for python-decorator and python-simplegeneric now.

@astrofrog I already removed the python-decorator from the channel. Let me know if we can close this.

Hi,

seems that this version bump breaks my test suite on pandas.... See https://travis-ci.org/leelabcnbc/DevOps/builds/143045829. Looks that now icu is not installed for Python 3 environments any more.

ImportError: libicui18n.so.56: cannot open shared object file: No such file or directory

decorator depends only on python and setuptools and both don't depended (directly) on icu.

I believe the issue you are seeing is not related to the rename here.

Hi @zym1010,

To give a bit more context, the environment you are creating is:

The following NEW packages will be INSTALLED:
    backports.shutil_get_terminal_size: 1.0.0-py35_0                       conda-forge
    blas:                               1.1-openblas                       conda-forge
    cycler:                             0.10.0-py35_0                      conda-forge
    decorator:                          4.0.10-py35_0                      conda-forge
    entrypoints:                        0.2.2-py35_0                       conda-forge
    fontconfig:                         2.11.1-3                           conda-forge
    freetype:                           2.6.3-1                            conda-forge
    h5py:                               2.6.0-np111py35_4                  conda-forge
    hdf5:                               1.8.17-2                           conda-forge
    ipykernel:                          4.3.1-py35_0                       defaults   
    ipython:                            4.2.1-py35_1                       conda-forge
    ipython_genutils:                   0.1.0-py35_0                       defaults   
    jinja2:                             2.8-py35_1                         defaults   
    jsonschema:                         2.5.1-py35_0                       conda-forge
    jupyter_client:                     4.3.0-py35_0                       conda-forge
    jupyter_core:                       4.1.0-py35_0                       conda-forge
    libgcc:                             5.2.0-0                            defaults   
    libgfortran:                        3.0.0-1                            defaults   
    libiconv:                           1.14-2                             conda-forge
    libpng:                             1.6.23-0                           conda-forge
    libsodium:                          1.0.10-0                           conda-forge
    libxml2:                            2.9.2-0                            defaults   
    markupsafe:                         0.23-py35_2                        defaults   
    matplotlib:                         1.5.2-np111py35_4                  conda-forge
    mistune:                            0.7.3-py35_0                       conda-forge
    nbconvert:                          4.2.0-py35_0                       conda-forge
    nbformat:                           4.0.1-py35_0                       conda-forge
    ncurses:                            5.9-7                              conda-forge
    nose:                               1.3.7-py35_1                       defaults   
    notebook:                           4.2.1-py35_0                       conda-forge
    numpy:                              1.11.0-py35_blas_openblas_201      conda-forge [blas_openblas]
    openblas:                           0.2.18-2                           conda-forge
    openssl:                            1.0.2h-1                           defaults   
    pandas:                             0.18.1-np111py35_0                 conda-forge
    pexpect:                            4.1.0-py35_0                       conda-forge
    pickleshare:                        0.7.2-py35_0                       conda-forge
    pip:                                8.1.2-py35_0                       defaults   
    ptyprocess:                         0.5.1-py35_0                       conda-forge
    pygments:                           2.1.3-py35_0                       defaults   
    pyparsing:                          2.1.4-py35_0                       defaults   
    pyqt:                               4.11.4-py35_3                      defaults   
    python:                             3.5.2-1                            conda-forge
    python-dateutil:                    2.5.3-py35_0                       defaults   
    pytz:                               2016.4-py35_0                      defaults   
    pyzmq:                              15.2.0-py35_1                      defaults   
    qt:                                 4.8.7-3                            defaults   
    readline:                           6.2-2                              defaults   
    scipy:                              0.17.1-np111py35_blas_openblas_200 conda-forge [blas_openblas]
    setuptools:                         23.0.0-py35_0                      defaults   
    simplegeneric:                      0.8.1-py35_1                       defaults   
    sip:                                4.18-py35_0                        conda-forge
    six:                                1.10.0-py35_0                      conda-forge
    sqlite:                             3.13.0-1                           conda-forge
    terminado:                          0.6-py35_0                         conda-forge
    tk:                                 8.5.19-0                           conda-forge
    tornado:                            4.3-py35_1                         defaults   
    traitlets:                          4.2.2-py35_0                       conda-forge
    wheel:                              0.29.0-py35_0                      defaults   
    xz:                                 5.2.2-0                            conda-forge
    zeromq:                             4.1.5-0                            conda-forge
    zlib:                               1.2.8-3                            conda-forge

The qt that has been installed comes from defaults and fundamentally depends upon a package called icu. Unfortunately, the qt package doesn't express this, and so you are seeing the error:

  File "/home/travis/miniconda2/envs/default-3/lib/python3.5/site-packages/matplotlib/backends/qt_compat.py", line 137, in <module>
    from PyQt4 import QtCore, QtGui
ImportError: libicui18n.so.56: cannot open shared object file: No such file or directory

This was raised with the Continuum folk at https://github.com/conda-forge/matplotlib-feedstock/issues/36#issue-163374341.

@astrofrog - this should now be fixed if you conda update decorator (and maybe need to conda remove python-decorator first).

Please let us know if not.

Thanks!

@pelson Thanks. Yeah that Qt definitely has some dependency issues. But maybe before change of this decorator, conda thinks that icu should be installed, for some reason.

@zym1010 the problem is complex. Here is how it breaks down:

  • some of the qt dependencies in defaults had icu present at build and qt linked to it (not sure which one);
  • conda-forge uses icu to build libxml2, and fontconfig "brings" icu into the equation b/c it depends on libxml2;
  • b/c conda is downloading libxml2 2.9.2-0 from defaults, and that one is not built with icu, your env is missing that dependency. (Note that previously we probably for libxml2 from conda-forge and this problem was hidden.)

To properly solve this we should build qt in conda-forge, but that is another problem.
An alternative is to investigate the dependency that bring icu for qt in defaults and, if possible, build the conda-forge version of that package with icu as well to ensure it will be present.

@ocefpaf Thanks! Currently, I will simply add icu explicitly to make it work...

Was this page helpful?
0 / 5 - 0 ratings