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

PY36 and PY37 failure together with matplotlib #30

Open
ElDeveloper opened this issue Dec 14, 2018 · 4 comments
Open

PY36 and PY37 failure together with matplotlib #30

ElDeveloper opened this issue Dec 14, 2018 · 4 comments

Comments

@ElDeveloper
Copy link
Member

Issue:

There's a failing PR in the scikit-bio feedstock due to an error likely arising from tkinter. Note that this happens when the test suite gets to a line that imports matplotlib, so the problem could also be matplotlib.

So far, we are only seeing the problem with PY36 and PY37 on macOS. Everything seems to be working well for PY35 on macOS and in all three versions for Linux.

The following text shows up after running the unit tests:

2018-12-14 01:06:05.020 python[4168:8519] -[NSApplication _setup:]: unrecognized selector sent to instance 0x7f8e05647040
2018-12-14 01:06:05.033 python[4168:8519] An uncaught exception was raised
2018-12-14 01:06:05.033 python[4168:8519] -[NSApplication _setup:]: unrecognized selector sent to instance 0x7f8e05647040
2018-12-14 01:06:05.035 python[4168:8519] (
	0   CoreFoundation                      0x00007fff8ec1403c __exceptionPreprocess + 172
	1   libobjc.A.dylib                     0x00007fff848ca76e objc_exception_throw + 43
	2   CoreFoundation                      0x00007fff8ec170ad -[NSObject(NSObject) doesNotRecognizeSelector:] + 205
	3   CoreFoundation                      0x00007fff8eb5ce24 ___forwarding___ + 1028
	4   CoreFoundation                      0x00007fff8eb5c998 _CF_forwarding_prep_0 + 120
	5   libtk8.6.dylib                      0x000000011c00d475 TkpInit + 310
	6   libtk8.6.dylib                      0x000000011bf7d754 Initialize + 2457
	7   _tkinter.cpython-36m-darwin.so      0x000000011bddfe04 Tcl_AppInit + 84
	8   _tkinter.cpython-36m-darwin.so      0x000000011bddac8b _tkinter_create + 1083
	9   libpython3.6m.dylib                 0x0000000109d29776 _PyCFunction_FastCallDict + 166
	10  libpython3.6m.dylib                 0x0000000109db2d3e call_function + 478
	11  libpython3.6m.dylib                 0x0000000109dabcc3 _PyEval_EvalFrameDefault + 4883

For more information see this Travis build, corresponding PR here: conda-forge/scikit-bio-feedstock#11.


Environment (conda list):

Not really from conda info, this is from the travis build:


    appnope:              0.1.0-py36_1000                       conda-forge
    asn1crypto:           0.24.0-py36_1003                      conda-forge
    atomicwrites:         1.2.1-py_0                            conda-forge
    attrs:                18.2.0-py_0                           conda-forge
    backcall:             0.1.0-py_0                            conda-forge
    blas:                 1.1-openblas                          conda-forge
    ca-certificates:      2018.11.29-ha4d7672_0                 conda-forge
    cachecontrol:         0.12.5-py_0                           conda-forge
    certifi:              2018.11.29-py36_1000                  conda-forge
    cffi:                 1.11.5-py36h5e8e0c9_1                 conda-forge
    chardet:              3.0.4-py36_1003                       conda-forge
    cryptography:         2.3.1-py36hdffb7b8_0                  conda-forge
    cryptography-vectors: 2.3.1-py36_1000                       conda-forge
    cycler:               0.10.0-py_1                           conda-forge
    decorator:            4.3.0-py_0                            conda-forge
    freetype:             2.9.1-h6debe1e_4                      conda-forge
    hdmedians:            0.13-py36h7eb728f_1                   conda-forge
    idna:                 2.8-py36_1000                         conda-forge
    ipython:              7.2.0-py36h24bf2e0_1000               conda-forge
    ipython_genutils:     0.2.0-py_1                            conda-forge
    jedi:                 0.13.1-py36_1000                      conda-forge
    kiwisolver:           1.0.1-py36h2d50403_2                  conda-forge
    libffi:               3.2.1-hfc679d8_5                      conda-forge
    libgfortran:          3.0.0-1                               conda-forge
    libpng:               1.6.36-ha92aebf_0                     conda-forge
    lockfile:             0.12.2-py_1                           conda-forge
    matplotlib:           3.0.2-py36_1                          conda-forge
    matplotlib-base:      3.0.2-py36hb2d221d_1                  conda-forge
    more-itertools:       4.3.0-py36_1000                       conda-forge
    msgpack-python:       0.6.0-py36h2d50403_0                  conda-forge
    natsort:              5.5.0-py_0                            conda-forge
    ncurses:              6.1-hfc679d8_2                        conda-forge
    numpy:                1.15.4-py36_blas_openblashb06ca3d_0   conda-forge [blas_openblas]
    openblas:             0.3.3-ha44fe06_1                      conda-forge
    openssl:              1.0.2p-h470a237_1                     conda-forge
    pandas:               0.23.4-py36hf8a1672_0                 conda-forge
    parso:                0.3.1-py_0                            conda-forge
    pexpect:              4.6.0-py36_1000                       conda-forge
    pickleshare:          0.7.5-py36_1000                       conda-forge
    pluggy:               0.8.0-py_0                            conda-forge
    prompt_toolkit:       2.0.7-py_0                            conda-forge
    ptyprocess:           0.6.0-py36_1000                       conda-forge
    py:                   1.7.0-py_0                            conda-forge
    pycparser:            2.19-py_0                             conda-forge
    pygments:             2.3.0-py_0                            conda-forge
    pyopenssl:            18.0.0-py36_1000                      conda-forge
    pyparsing:            2.3.0-py_0                            conda-forge
    pysocks:              1.6.8-py36_1002                       conda-forge
    pytest:               4.0.1-py36_1000                       conda-forge
    python:               3.6.7-h5001a0f_1                      conda-forge
    python-dateutil:      2.7.5-py_0                            conda-forge
    pytz:                 2018.7-py_0                           conda-forge
    readline:             7.0-haf1bffa_1                        conda-forge
    requests:             2.21.0-py36_1000                      conda-forge
    scikit-bio:           0.5.5-py36_0                          local      
    scikit-learn:         0.20.1-py36_blas_openblash00c3548_200 conda-forge [blas_openblas]
    scipy:                1.1.0-py36_blas_openblashb06ca3d_202  conda-forge [blas_openblas]
    setuptools:           40.6.3-py36_0                         conda-forge
    six:                  1.12.0-py36_1000                      conda-forge
    sqlite:               3.26.0-hb1c47c0_0                     conda-forge
    tk:                   8.6.9-ha92aebf_0                      conda-forge
    tornado:              5.1.1-py36h470a237_0                  conda-forge
    traitlets:            4.3.2-py36_1000                       conda-forge
    urllib3:              1.24.1-py36_1000                      conda-forge
    wcwidth:              0.1.7-py_1                            conda-forge
    xz:                   5.2.4-h470a237_1                      conda-forge
    zlib:                 1.2.11-h470a237_3                     conda-forge

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

@ElDeveloper
Copy link
Member Author

ElDeveloper commented Dec 14, 2018

When I enable a different backend in matplotlib everything seems to work just fine. Namely Agg.

@jjhelmus
Copy link
Contributor

I believe this is matplotlib causing issues not the tk package. I can replicate this using matplotlib 3.0.2 but the issues goes away when matplotlib is downgraded to 2.x.

@efiring
Copy link

efiring commented Jun 20, 2019

I suspect this is the same issue as described here:
matplotlib/matplotlib#12074 (comment)
There may well be an interaction with matplotlib, but in my testing there is a strong dependence on tk version and build.

@ElDeveloper
Copy link
Member Author

I see, so it is likely coming from some side-dependencies. 👍

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

3 participants