Home > front end >  After conda update, python kernel crashes when matplotlib is used
After conda update, python kernel crashes when matplotlib is used

Time:11-03

I have create this simple env with conda:

conda create -n test python=3.8.5 pandas scipy numpy matplotlib seaborn jupyterlab

The following code in jupyter lab crashes the kernel :

import matplotlib.pyplot as plt

plt.subplot()

I don't face the problem on Linux. The problem is when I try on Windows 10.

There are no errors on the jupyter lab console (where I started the server), and I have no idea where to investigate.

CodePudding user response:

Solution

  • If this is occurring after updating conda or freetype
  • Go to the Anaconda prompt and downgrade freetype 2.11.0 in any affected environment.
    • conda install freetype=2.10.4
  • Relevant to any package using matplotlib
    • For example, pandas.DataFrame.plot and seaborn

Discovery

  • An issue occurs after updating with the most current updates from conda, released Friday, Oct 29.
  • After updating with conda update --all, there's an issue with anything related to matplotlib in any IDE (not just Jupyter).
    • I tested this in JupyterLab, PyCharm, and python from the command prompt.
    • PyCharm: Process finished with exit code -1073741819
  • The issue seems to be with conda update --all in (base), then any plot API that uses matplotlib (e.g. seaborn and pandas.DataFrame.plot) kills the kernel in any environment.
  • I had to reinstall Anaconda, but do not do a an update of (base), then my other environments worked.
  • I have not figured out what specifically is causing the issue.
  • I tested the issue with python 3.8.12 and python 3.9.7
  • Current Testing:
    • Following is the conda revision log.
    • Prior to conda update --all this environment was working, but after the updates, plotting with matplotlib crashes the python kernel
  2021-10-31 10:47:22  (rev 3)
     bokeh  {2.3.3 (defaults/win-64) -> 2.4.1 (defaults/win-64)}
     click  {8.0.1 (defaults/noarch) -> 8.0.3 (defaults/noarch)}
     filelock  {3.0.12 (defaults/noarch) -> 3.3.1 (defaults/noarch)}
     freetype  {2.10.4 (defaults/win-64) -> 2.11.0 (defaults/win-64)}
     imagecodecs  {2021.6.8 (defaults/win-64) -> 2021.8.26 (defaults/win-64)}
     joblib  {1.0.1 (defaults/noarch) -> 1.1.0 (defaults/noarch)}
     lerc  {2.2.1 (defaults/win-64) -> 3.0 (defaults/win-64)}
     more-itertools  {8.8.0 (defaults/noarch) -> 8.10.0 (defaults/noarch)}
     pyopenssl  {20.0.1 (defaults/noarch) -> 21.0.0 (defaults/noarch)}
     scikit-learn  {0.24.2 (defaults/win-64) -> 1.0.1 (defaults/win-64)}
     statsmodels  {0.12.2 (defaults/win-64) -> 0.13.0 (defaults/win-64)}
     sympy  {1.8 (defaults/win-64) -> 1.9 (defaults/win-64)}
     tqdm  {4.62.2 (defaults/noarch) -> 4.62.3 (defaults/noarch)}
     xlwings  {0.24.7 (defaults/win-64) -> 0.24.9 (defaults/win-64)}
  • The issue seems to be freetype
    • Downgrading from 2.11.0 to 2.10.4 resolved the issue and made the environment work with matplotlib
  • Went to post a bug report and discovered there is [Bug]: Matplotlib crashes Python #21511
  • Related