Hi! Thanks for using the Jupyter Docker Stacks.
What docker image you are using?
jupyter/scipy-notebook
What complete docker command do you run to launch the container (omitting sensitive values)?
Have it started by an image derived and only slightly altered from jupyterhub/jupyterhub running version 0.9.4
What steps do you take once the container is running to reproduce the issue?
Tell matplotlib to plot anything, e.g.
import matplotlib.pyplot as plt
import numpy as np
t = np.arange(0.0, 2.0, 0.01)
s = 1 + np.sin(2*np.pi*t)
plt.plot(t, s)
What actually happens?
In JupyterHub the kernel just crashes and needs to be restarted, the ipython output looks like this:
jovyan@0a5922c8e6a5:~$ ipython
Python 3.6.8 |Anaconda, Inc.| (default, Dec 30 2018, 01:22:34)
Type 'copyright', 'credits' or 'license' for more information
IPython 7.2.0 -- An enhanced Interactive Python. Type '?' for help.
In [1]: import matplotlib.pyplot as plt
...: import numpy as np
...: t = np.arange(0.0, 2.0, 0.01)
...: s = 1 + np.sin(2*np.pi*t)
...: plt.plot(t, s)
Illegal instruction (core dumped)
jovyan@0a5922c8e6a5:~$
For more communication and details see https://github.com/jupyterhub/jupyterhub/issues/2411
At https://github.com/matplotlib/matplotlib/issues/13458 it was said that the reason for the crash should be found here.
https://github.com/matplotlib/matplotlib/issues/13458#issuecomment-465069081 suggests the stock jupyter/scipy-notebook image is working (or was working, given we don't know what latest is pointing to on the commenter's machine.
Have it started by an image derived and only slightly altered from
jupyterhub/jupyterhubrunning version0.9.4
@1kastner can you explain or share the alterations?
@parente I copy some local files into the image, add a label etc.
Sharing them is sadly not possible. But there is no installation via apt-get, conda, pip or any other software.
The latest guess at the other thread was that the nesting inside a not-suitably-configured VM might be the deal-breaker.
The nesting on the problematic machine is:
cluster => virtual machine => docker
Elsewhere it is:
Windows => docker
I will check whether the VM used at the cluster provides some kind of CPU which is not supported by the binaries installed through conda.
I could temporarily solve the issue by noting:
FROM jupyter/scipy-notebook:987a0d33791b
instead of the latest image.
Btw, the same error popped up when I was using scikit-learn. For example the MlpRegressor fitting resulted in the same error.
Here's what I get from running the matplotlib code in an ipython shell using the latest scipy-notebook image on my local VM. All versions / SHAs are shown in the log below for comparison. The result is what I would expect: matplotlib fails to use the default backend because there is no X session running in the container.
❯❯❯ uname -a
Linux vm4-002 4.15.0-45-generic #48-Ubuntu SMP Tue Jan 29 16:28:13 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
❯❯❯ docker version
Client:
Version: 18.09.1
API version: 1.39
Go version: go1.10.6
Git commit: 4c52b90
Built: Wed Jan 9 19:35:23 2019
OS/Arch: linux/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 18.09.1
API version: 1.39 (minimum version 1.12)
Go version: go1.10.6
Git commit: 4c52b90
Built: Wed Jan 9 19:02:44 2019
OS/Arch: linux/amd64
Experimental: false
❯❯❯ docker inspect jupyter/scipy-notebook -f "{{ .RepoDigests }}"
[jupyter/scipy-notebook@sha256:1b24091d595eb6ddf1c4b04c2a161cd138b1bb65b0dc1f440e0e9799bf77e43f]
❯❯❯ docker run -it --rm jupyter/scipy-notebook start.sh ipython
Executing the command: ipython
Python 3.6.8 |Anaconda, Inc.| (default, Dec 30 2018, 01:22:34)
Type 'copyright', 'credits' or 'license' for more information
IPython 7.2.0 -- An enhanced Interactive Python. Type '?' for help.
In [1]: import matplotlib.pyplot as plt
...: import numpy as np
...: t = np.arange(0.0, 2.0, 0.01)
...: s = 1 + np.sin(2*np.pi*t)
...: plt.plot(t, s)
---------------------------------------------------------------------------
TclError Traceback (most recent call last)
<ipython-input-1-f8d1fb1b46c3> in <module>
3 t = np.arange(0.0, 2.0, 0.01)
4 s = 1 + np.sin(2*np.pi*t)
----> 5 plt.plot(t, s)
/opt/conda/lib/python3.6/site-packages/matplotlib/pyplot.py in plot(*args, **kwargs)
3350 @_autogen_docstring(Axes.plot)
3351 def plot(*args, **kwargs):
-> 3352 ax = gca()
3353 # Deprecated: allow callers to override the hold state
3354 # by passing hold=True|False
/opt/conda/lib/python3.6/site-packages/matplotlib/pyplot.py in gca(**kwargs)
967 matplotlib.figure.Figure.gca : The figure's gca method.
968 """
--> 969 return gcf().gca(**kwargs)
970
971 # More ways of creating axes:
/opt/conda/lib/python3.6/site-packages/matplotlib/pyplot.py in gcf()
584 return figManager.canvas.figure
585 else:
--> 586 return figure()
587
588
/opt/conda/lib/python3.6/site-packages/matplotlib/pyplot.py in figure(num, figsize, dpi, facecolor, edgecolor, frameon, FigureClass, clear, **kwargs)
531 frameon=frameon,
532 FigureClass=FigureClass,
--> 533 **kwargs)
534
535 if figLabel:
/opt/conda/lib/python3.6/site-packages/matplotlib/backend_bases.py in new_figure_manager(cls, num, *args, **kwargs)
159 fig_cls = kwargs.pop('FigureClass', Figure)
160 fig = fig_cls(*args, **kwargs)
--> 161 return cls.new_figure_manager_given_figure(num, fig)
162
163 @classmethod
/opt/conda/lib/python3.6/site-packages/matplotlib/backends/_backend_tk.py in new_figure_manager_given_figure(cls, num, figure)
1044 """
1045 _focus = windowing.FocusManager()
-> 1046 window = Tk.Tk(className="matplotlib")
1047 window.withdraw()
1048
/opt/conda/lib/python3.6/tkinter/__init__.py in __init__(self, screenName, baseName, className, useTk, sync, use)
2021 baseName = baseName + ext
2022 interactive = 0
-> 2023 self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)
2024 if useTk:
2025 self._loadtk()
TclError: no display name and no $DISPLAY environment variable
If I run docker run -it --rm -p 8888:8888 jupyter/scipy-notebook on the same host and run the same matplotlib code in a jupyter notebook instead, I get the expected result posted here https://gist.github.com/parente/c72c0c134f9072f890eeed5718c694da
The image itself is working, I can use the same image on my Windows computer perfectly. I am not saying that it is as such broken. I would be glad if I had a simple error message like yours which is quite obious to deal with. As said before, the python interpreter crashes, most likely due to issues related to the pre-compiled libraries of conda which do not suit to the local machine.
Therefore, it would be interesting to see whether and how the creation of the image altered. And to figure out why the behavior changed over updates.
Other places where illegal instruction was a reason for python to crash (even though at other points):
So maybe it is rather an issue of conda at this place.
But as it is the major tool for installing here, this docker image is affected as well.
But for others who struggle at the same place I can say that the older versions worked and if we stick to that, everything seems to be fine.
At https://github.com/numpy/numpy/issues/9532 they mention it as well.
It seems like one needs to work on the virtual machine.
conda-forge went through a jump to a new compiler version in recent history. It may be tied to that.
Old versions of the images are always available with git sha's as tags. We can't stick with older versions of packages on master indefinitely, however, for reasons like #819.
I definitely do not want insecure software and at the conda issue (see https://github.com/conda/conda/issues/8373) the option is mentioned that docker might be misconfigured.
Let's see what will show up at https://forums.docker.com/t/70718
I'm having a similar issue after trying to update numpy/pandas. One of the telltale signs is that import numpy stops to work after one of the conda updates replaced open_blas version of numpy with default. So in my case, it is necessary to upgrade pandas using conda update pandas numpy (idea taken from https://github.com/conda-forge/numpy-feedstock/issues/108).
I just stepped through with pdb and found the line where things broke:
> /opt/conda/lib/python3.6/site-packages/matplotlib/transforms.py(2041)scale()
-> [[sx, 0.0, 0.0], [0.0, sy, 0.0], [0.0, 0.0, 1.0]], float)
(Pdb) s
> /opt/conda/lib/python3.6/site-packages/matplotlib/transforms.py(2042)scale()
-> self._mtx = np.dot(scale_mtx, self._mtx)
So yes, most likely it is related to numpy
Sadly your suggestions @prusswan were not successful, thanks anyways.
I derived my image from it and added (1) RUN conda update -y pandas numpy
and (2) RUN conda update -n base conda && conda update -y pandas numpy to it.
The error appeared again in the very same manner.
Those were the updates run:
## Package Plan ##
environment location: /opt/conda
added / updated specs:
- numpy
- pandas
The following packages will be downloaded:
package | build
---------------------------|-----------------
h5py-2.7.1 | py36_2 4.0 MB conda-forge
numpy-1.16.2 | py36h8b7e671_1 4.3 MB conda-forge
pandas-0.24.2 | py36hf484d3e_0 11.1 MB conda-forge
------------------------------------------------------------
Total: 19.4 MB
The following packages will be UPDATED:
numpy 1.11.3-py36he5ce36f_1207 --> 1.16.2-py36h8b7e671_1
pandas 0.23.4-py36h637b7d7_1000 --> 0.24.2-py36hf484d3e_0
The following packages will be DOWNGRADED:
h5py 2.7.1-py36_3 --> 2.7.1-py36_2
PS: I also tried
conda uninstall blas --force
conda install "blas=*=openblas"
as suggested in https://github.com/conda-forge/numpy-feedstock/issues/108 - No improve either
The np.dot operation further leads to https://github.com/numpy/numpy/issues/11517:
This makes it crash:
import numpy as np
A = np.matrix([[1.], [3.]])
B = np.matrix([[2., 3.]])
np.dot(A, B)
import os
os.environ["OPENBLAS_CORETYPE"] = "nehalem"
import numpy as np
A = np.matrix([[1.], [3.]])
B = np.matrix([[2., 3.]])
np.dot(A, B)
And this finally works!
I am not sure if you have the correct openblas packages, do you have the hash of the specific docker image you used? From what I can tell, problems start when the mkl/openblas packages get mixed up, and in my case, once I lost the openblas numpy through some update, I cannot get conda to install it again. Right now I am using a slightly older version of jupyter/all-spark-notebook , with these packages:
conda list
# packages in environment at /opt/conda: # # Name Version Build Channel _r-mutex 1.0.0 anacondar_1 defaults alembic 0.9.9 py_0 conda-forge arrow-cpp 0.12.1 py36h0e61e49_0 conda-forge asn1crypto 0.24.0 py36_1003 conda-forge async_generator 1.10 py_0 conda-forge attrs 18.2.0 py_0 conda-forge autovizwidget 0.12.6 py36_0 anaconda backcall 0.1.0 py_0 conda-forge beautifulsoup4 4.6.3 py36_1000 conda-forge blas 1.1 openblas conda-forge bleach 3.0.2 py_1 conda-forge bokeh 0.13.0 py36_1000 conda-forge boost-cpp 1.68.0 h3a22d5f_0 conda-forge bwidget 1.9.11 1 defaults bzip2 1.0.6 h470a237_2 conda-forge ca-certificates 2019.3.9 hecc5488_0 conda-forge cairo 1.14.12 h276e583_5 conda-forge certifi 2019.3.9 py36_0 conda-forge cffi 1.11.5 py36h5e8e0c9_1 conda-forge chardet 3.0.4 py36_1003 conda-forge cloudpickle 0.5.6 py_0 conda-forge conda 4.6.8 py36_0 conda-forge conda-env 2.6.0 1 conda-forge configurable-http-proxy 3.1.0 node8_1 conda-forge cryptography 2.5 py36hb7f436b_1 conda-forge cryptography-vectors 2.3.1 py36_1000 conda-forge curl 7.64.0 h646f8bb_0 conda-forge cycler 0.10.0 py_1 conda-forge cython 0.28.5 py36hfc679d8_0 conda-forge cytoolz 0.9.0.1 py36h470a237_1 conda-forge dask-core 1.0.0 py_0 conda-forge dbus 1.13.0 h3a4f0e9_0 conda-forge decorator 4.3.0 py_0 conda-forge dill 0.2.8.2 py36_1000 conda-forge entrypoints 0.3 py36_1000 conda-forge expat 2.2.5 hfc679d8_2 conda-forge fastcache 1.0.2 py36h470a237_1 conda-forge findspark 1.3.0 py_1 conda-forge fontconfig 2.13.1 h65d0f4c_0 conda-forge freetype 2.9.1 h6debe1e_4 conda-forge gettext 0.19.8.1 h5e8e0c9_1 conda-forge glib 2.56.2 h464dc38_1 conda-forge gmp 6.1.2 hfc679d8_0 conda-forge gmpy2 2.0.8 py36hb705a9b_2 conda-forge graphite2 1.3.13 hfc679d8_0 conda-forge gsl 2.2.1 blas_openblashddceaf2_6 [blas_openblas] conda-forge gst-plugins-base 1.12.5 hde13a9d_0 conda-forge gstreamer 1.12.5 h5856ed1_0 conda-forge h5py 2.7.1 py36_2 conda-forge harfbuzz 1.9.0 h04dbb29_1 conda-forge hdf5 1.10.1 2 conda-forge hdijupyterutils 0.12.6 py36_0 anaconda icu 58.2 hfc679d8_0 conda-forge idna 2.8 py36_1000 conda-forge imageio 2.4.1 py36_1000 conda-forge ipykernel 4.9.0 py36_0 conda-forge ipython 7.2.0 py36h24bf2e0_1000 conda-forge ipython_genutils 0.2.0 py_1 conda-forge ipywidgets 7.4.2 py_0 conda-forge jedi 0.13.2 py36_1000 conda-forge jinja2 2.10 py_1 conda-forge jpeg 9c h470a237_1 conda-forge jsonschema 3.0.0a3 py36_1000 conda-forge jupyter_client 5.2.4 py_0 conda-forge jupyter_core 4.4.0 py_0 conda-forge jupyterhub 0.9.4 py36_1000 conda-forge jupyterlab 0.35.4 py36_0 conda-forge jupyterlab_server 0.2.0 py_0 conda-forge kiwisolver 1.0.1 py36h2d50403_2 conda-forge krb5 1.16.3 hc83ff2d_1000 conda-forge libcurl 7.64.0 h01ee5af_0 conda-forge libedit 3.1.20170329 haf1bffa_1 conda-forge libevent 2.0.22 hb7f436b_1002 conda-forge libffi 3.2.1 hfc679d8_5 conda-forge libgcc 7.2.0 h69d50b8_2 conda-forge libgcc-ng 7.3.0 hdf63c60_0 conda-forge libgfortran 3.0.0 1 conda-forge libgfortran-ng 7.2.0 hdf63c60_3 conda-forge libiconv 1.15 h470a237_4 conda-forge libpng 1.6.36 ha92aebf_0 conda-forge libprotobuf 3.6.1 hd28b015_0 conda-forge libsodium 1.0.16 h470a237_1 conda-forge libssh2 1.8.0 h1ad7b7a_1003 conda-forge libstdcxx-ng 7.3.0 hdf63c60_0 conda-forge libtiff 4.0.10 he6b73bb_1 conda-forge libuuid 2.32.1 h470a237_2 conda-forge libxcb 1.13 h470a237_2 conda-forge libxml2 2.9.8 h422b904_5 conda-forge llvmlite 0.23.0 py36_1 conda-forge make 4.2.1 h470a237_1003 conda-forge mako 1.0.7 py_1 conda-forge markupsafe 1.1.0 py36h470a237_0 conda-forge matplotlib 2.2.3 py36h8e2386c_0 conda-forge metakernel 0.20.14 py_0 conda-forge mistune 0.8.4 py36h470a237_0 conda-forge mpc 1.1.0 hb705a9b_6 conda-forge mpfr 4.0.1 h16a7912_0 conda-forge mpmath 1.1.0 py_0 conda-forge nbconvert 5.3.1 py_1 conda-forge nbformat 4.4.0 py_1 conda-forge ncurses 6.1 hfc679d8_2 conda-forge networkx 2.2 py_1 conda-forge nodejs 8.10.0 0 conda-forge notebook 5.7.2 py36_1000 conda-forge numba 0.38.1 py36_0 conda-forge numexpr 2.6.9 py36hf8a1672_0 conda-forge numpy 1.16.2 py36_blas_openblash1522bff_0 [blas_openblas] conda-forge olefile 0.46 py_0 conda-forge openblas 0.3.3 ha44fe06_1 conda-forge openssl 1.0.2r h14c3975_0 conda-forge packaging 18.0 py_0 conda-forge pamela 0.3.0 py_1001 conda-forge pandas 0.24.2 py36hf484d3e_0 conda-forge pandoc 2.5 0 conda-forge pandocfilters 1.4.2 py_1 conda-forge pango 1.40.14 he752989_2 conda-forge parquet-cpp 1.5.1 2 conda-forge parso 0.3.1 py_0 conda-forge patsy 0.5.1 py_0 conda-forge pcre 8.41 hfc679d8_3 conda-forge pexpect 4.6.0 py36_1000 conda-forge pickleshare 0.7.5 py36_1000 conda-forge pillow 5.4.1 py36hc736899_0 conda-forge pip 18.1 py36_1000 conda-forge pixman 0.34.0 h470a237_3 conda-forge plotly 3.6.1 py36_0 anaconda prometheus_client 0.5.0 py_0 conda-forge prompt_toolkit 2.0.7 py_0 conda-forge protobuf 3.6.1 py36hfc679d8_1 conda-forge pthread-stubs 0.4 h470a237_1 conda-forge ptyprocess 0.6.0 py36_1000 conda-forge pyarrow 0.12.1 py36hbbcf98d_0 conda-forge pycosat 0.6.3 py36h470a237_1 conda-forge pycparser 2.19 py_0 conda-forge pycurl 7.43.0.2 py36hb7f436b_0 defaults pygments 2.3.1 py_0 conda-forge pykerberos 1.1.14 py36h84109d8_2 anaconda pyopenssl 18.0.0 py36_1000 conda-forge pyparsing 2.3.0 py_0 conda-forge pyrsistent 0.14.9 py36h470a237_0 conda-forge pysocks 1.6.8 py36_1002 conda-forge python 3.6.7 hd21baee_1002 conda-forge python-dateutil 2.7.5 py_0 conda-forge python-editor 1.0.3 py_0 conda-forge python-oauth2 1.0.1 py36_0 conda-forge pytz 2018.9 py_0 conda-forge pywavelets 1.0.1 py36h7eb728f_0 conda-forge pyyaml 3.13 py36h470a237_1 conda-forge pyzmq 17.1.2 py36hae99301_1 conda-forge r-askpass 1.1 r351h96ca727_0 conda-forge r-assertthat 0.2.0 r351h6115d3f_1001 conda-forge r-backports 1.1.3 r351hc070d10_0 conda-forge r-base 3.5.1 h391c2eb_5 conda-forge r-base64enc 0.1_3 r351hc070d10_2 conda-forge r-bh 1.66.0_1 r351_2001 conda-forge r-bindr 0.1.1 r351h6115d3f_1001 conda-forge r-bindrcpp 0.2.2 r351h9d2a408_1 conda-forge r-bitops 1.0_6 r351hc070d10_2 conda-forge r-broom 0.5.1 r351h6115d3f_1000 conda-forge r-cli 1.0.1 r351h6115d3f_1000 conda-forge r-colorspace 1.3_2 r351hc070d10_2 conda-forge r-config 0.3 r351h6115d3f_1001 conda-forge r-crayon 1.3.4 r351h6115d3f_1001 conda-forge r-curl 3.2 r351hc070d10_2 conda-forge r-dbi 1.0.0 r351h6115d3f_1001 conda-forge r-dbplyr 1.2.2 r351h6115d3f_1001 conda-forge r-digest 0.6.18 r351hc070d10_0 conda-forge r-dplyr 0.7.8 r351h9d2a408_0 conda-forge r-evaluate 0.12 r351h6115d3f_1000 conda-forge r-fansi 0.4.0 r351hc070d10_0 conda-forge r-forge 0.1.0 r351h6115d3f_1000 conda-forge r-generics 0.0.2 r351h6115d3f_1001 conda-forge r-ggplot2 3.1.0 r351h6115d3f_1000 conda-forge r-glue 1.3.0 r351h470a237_2 conda-forge r-gtable 0.2.0 r351h6115d3f_1001 conda-forge r-htmltools 0.3.6 r351hfc679d8_2 conda-forge r-htmlwidgets 1.3 r351h6115d3f_1000 conda-forge r-httpuv 1.4.5.1 r351hfc679d8_0 conda-forge r-httr 1.4.0 r351h6115d3f_1000 conda-forge r-irdisplay 0.7 r351_1000 conda-forge r-irkernel 0.8.14 r351h6115d3f_1000 conda-forge r-jsonlite 1.6 r351hc070d10_0 conda-forge r-labeling 0.3 r351h6115d3f_1001 conda-forge r-later 0.7.5 r351h9d2a408_0 conda-forge r-lattice 0.20_38 r351hc070d10_0 conda-forge r-lazyeval 0.2.1 r351hc070d10_2 conda-forge r-magrittr 1.5 r351h6115d3f_1001 conda-forge r-mass 7.3_51.1 r351hc070d10_0 conda-forge r-matrix 1.2_15 r351hc070d10_0 conda-forge r-mgcv 1.8_26 r351hc070d10_0 conda-forge r-mime 0.6 r351hc070d10_0 conda-forge r-munsell 0.5.0 r351h6115d3f_1001 conda-forge r-nlme 3.1_137 r351h364d78e_0 conda-forge r-openssl 1.1 r351hff1dc39_1001 conda-forge r-pbdzmq 0.3_3 r351hc862886_0 conda-forge r-pillar 1.3.1 r351h6115d3f_1000 conda-forge r-pkgconfig 2.0.2 r351h6115d3f_1001 conda-forge r-plogr 0.2.0 r351h6115d3f_1001 conda-forge r-plyr 1.8.4 r351h9d2a408_2 conda-forge r-promises 1.0.1 r351h9d2a408_0 conda-forge r-purrr 0.2.5 r351hc070d10_2 conda-forge r-r2d3 0.2.3 r351h6115d3f_1000 conda-forge r-r6 2.3.0 r351h6115d3f_1000 conda-forge r-rappdirs 0.3.1 r351hc070d10_2 conda-forge r-rcolorbrewer 1.1_2 r351h6115d3f_1001 conda-forge r-rcpp 1.0.0 r351h9d2a408_0 conda-forge r-rcurl 1.95_4.11 r351hc070d10_3 conda-forge r-repr 0.19.1 r351h6115d3f_1000 conda-forge r-reshape2 1.4.3 r351h9d2a408_2 conda-forge r-rlang 0.3.0.1 r351h470a237_0 conda-forge r-rprojroot 1.3_2 r351h6115d3f_1001 conda-forge r-rstudioapi 0.8 r351h6115d3f_1001 conda-forge r-scales 1.0.0 r351h9d2a408_1 conda-forge r-shiny 1.2.0 r351_1000 conda-forge r-sourcetools 0.1.7 r351hfc679d8_0 conda-forge r-sparklyr 0.9.3 r351h6115d3f_1000 conda-forge r-stringi 1.2.4 r351h9d2a408_1 conda-forge r-stringr 1.3.1 r351h6115d3f_1001 conda-forge r-sys 2.1 r351h96ca727_1000 conda-forge r-tibble 2.0.0 r351hc070d10_0 conda-forge r-tidyr 0.8.2 r351h9d2a408_2 conda-forge r-tidyselect 0.2.5 r351h9d2a408_0 conda-forge r-utf8 1.1.4 r351hc070d10_0 conda-forge r-uuid 0.1_2 r351hc070d10_1 conda-forge r-viridislite 0.3.0 r351h6115d3f_1001 conda-forge r-withr 2.1.2 r351h6115d3f_1000 conda-forge r-xml2 1.2.0 r351h9d2a408_2 conda-forge r-xtable 1.8_3 r351_2000 conda-forge r-yaml 2.2.0 r351hc070d10_1 conda-forge readline 7.0 haf1bffa_1 conda-forge requests 2.21.0 py36_1000 conda-forge requests-kerberos 0.12.0 py36_0 anaconda retrying 1.3.3 py36_2 anaconda ruamel_yaml 0.15.71 py36h470a237_0 conda-forge scikit-image 0.14.1 py36hfc679d8_4 conda-forge scikit-learn 0.20.2 py36_blas_openblash00c3548_400 [blas_openblas] conda-forge scipy 1.1.0 py36_blas_openblashb06ca3d_202 [blas_openblas] conda-forge seaborn 0.9.0 py_0 conda-forge send2trash 1.5.0 py_0 conda-forge setuptools 40.6.3 py36_0 conda-forge sip 4.18.1 py36hfc679d8_0 conda-forge six 1.12.0 py36_1000 conda-forge sparkmagic 0.12.7 py36_1001 anaconda spylon 0.3.0 py_1 conda-forge spylon-kernel 0.4.1 py_1000 conda-forge sqlalchemy 1.2.15 py36h470a237_0 conda-forge sqlite 3.26.0 hb1c47c0_0 conda-forge statsmodels 0.9.0 py36h7eb728f_0 conda-forge sympy 1.1.1 py36_0 conda-forge terminado 0.8.1 py36_1001 conda-forge testpath 0.4.2 py36_1000 conda-forge thrift-cpp 0.12.0 h23e226f_1001 conda-forge tini 0.18.0 h470a237_1 conda-forge tk 8.6.9 ha92aebf_0 conda-forge tktable 2.10 h14c3975_0 defaults toolz 0.9.0 py_1 conda-forge toree 0.3.0 pypi_0 pypi tornado 5.1.1 py36h470a237_0 conda-forge traitlets 4.3.2 py36_1000 conda-forge urllib3 1.24.1 py36_1000 conda-forge vincent 0.4.4 py_1 conda-forge wcwidth 0.1.7 py_1 conda-forge webencodings 0.5.1 py_1 conda-forge wheel 0.32.3 py36_0 conda-forge widgetsnbextension 3.4.2 py36_1000 conda-forge xlrd 1.2.0 py_0 conda-forge xorg-kbproto 1.0.7 h470a237_2 conda-forge xorg-libice 1.0.9 h470a237_4 conda-forge xorg-libsm 1.2.3 h8c8a85c_0 conda-forge xorg-libx11 1.6.6 h470a237_0 conda-forge xorg-libxau 1.0.8 h470a237_6 conda-forge xorg-libxdmcp 1.1.2 h470a237_7 conda-forge xorg-libxext 1.3.3 h470a237_4 conda-forge xorg-libxrender 0.9.10 h470a237_2 conda-forge xorg-renderproto 0.11.1 h470a237_2 conda-forge xorg-xextproto 7.3.0 h470a237_2 conda-forge xorg-xproto 7.0.31 h470a237_7 conda-forge xz 5.2.4 h470a237_1 conda-forge yaml 0.1.7 h470a237_1 conda-forge zeromq 4.2.5 hfc679d8_6 conda-forge zlib 1.2.11 h470a237_3 conda-forge
So now I added ENV OPENBLAS_CORETYPE nehalem to my Jupyter Notebook and everything works:
FROM jupyter/scipy-notebook
RUN python3 -m pip install --no-cache jupyterhub==0.9.4
ENV OPENBLAS_CORETYPE nehalem
This is now the minimal Jupyter Notebook I can use on a JupyterHub.
@prusswan as it is working now, I will give it a rest. Obviously it is some kind of bug somewhere as I did not setup something myself, it is all self-configured.
I am always building the image fresh from the dockerhub, so no chance that I broke something in some kind of update process myself.
But thank you very much for the conda list, I might still need it at some point.
@parente Thank you very much for your patience. I guess my case is too specific so nothing needs to be adjusted on your side.
Therefore, I will close this for the meantime and let's hope the CPU detection will improve over time.
Otherwise I will open a new ticket with a new issue.
Further information on this can be found at:
Just fyi, the issue I encountered is probably this one: https://github.com/conda-forge/openblas-feedstock/issues/60. Not the same issue but related to CPU detection within VMs
Edit: It could be the same issue, just that we get different symptoms - you were able to load numpy except that certain methods failed, while I could not load numpy at all
Your explanation seems likely to me.
https://github.com/xianyi/OpenBLAS/issues/2067 is closed and openblas 0.3.6 is online on https://anaconda.org/conda-forge/openblas - that should be solved by now. I will try it out on the corresponding server soon and leave some feedback here.