我用
conda
创建了这个简单的环境:
conda create -n test python=3.8.5 pandas scipy numpy matplotlib seaborn jupyterlab
jupyter lab
中的以下代码会使内核崩溃:
import matplotlib.pyplot as plt
plt.subplot()
我在
Linux
上没有遇到问题。问题是当我试戴时Windows 10
。
jupyter lab
控制台(我启动服务器的地方)上没有错误,我不知道在哪里调查。
pkgs/main
的默认 conda
通道已恢复为使用 freetype 2.10.4
,根据 main / packages / freetype。conda list freetype
检查版本:freetype != 2.11.0
2.11.0
,则根据解决方案更改版本,或 conda update --all
(前提是您的默认频道未在 .condarc
配置文件中更改)。conda
或 freetype
后发生这种情况。Anaconda
提示并降级 freetype 2.11.0
。
conda install freetype=2.10.4
matplotlib
的任何软件包和任何 IDE 相关
pandas.DataFrame.plot
和seaborn
conda
的最新更新进行更新后出现问题。conda update --all
更新后,任何 IDE(不仅仅是 matplotlib
)中与 Jupyter
相关的任何内容都会出现问题。
JupyterLab
、PyCharm
和 python
中对此进行了测试。Process finished with exit code -1073741819
conda update --all
中的 (base)
,然后任何使用 matplotlib
的绘图 API(例如 seaborn
和 pandas.DataFrame.plot
)都会在任何环境中杀死内核。(base)
,然后我的其他环境就可以工作了。python 3.8.12
和 python 3.9.7
conda
修订日志。conda update --all
之前,此环境正常工作,但更新后,使用 matplotlib
进行绘图会导致 python 内核崩溃 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)}
freetype
2.11.0
降级到 2.10.4
解决了问题并使环境与 matplotlib
对于任何降级到
freetype=2.10.4
不起作用的人。就我而言,问题是在从 scikit-learn=1.11
频道安装新版本的 conda-forge
后发生的。在尝试了多种选择后,以下对我有用:
numpy
从 main/pkg
重新安装到 conda-forge
频道mkl
软件包conda -c intel mkl
matplotlib=4.3
重新安装
conda-forge
这是一项相当严厉的措施,因为你必须重新安装所有依赖 NumPy 的依赖项(Pandas、TensorFlow 等),但这是唯一对我有用的依赖项。
2023 年 3 月 2 日更新:
这是我的内核死后捕获的输出:
OMP:错误#15:正在初始化libiomp5md.dll,但发现libiomp5md.dll 已经初始化了。
OMP:提示:这意味着 OpenMP 运行时的多个副本具有 已链接到程序中。这是危险的,因为它会降解 性能或导致不正确的结果。最好的办法就是 确保只有一个 OpenMP 运行时链接到进程中, 例如通过避免在任何库中静态链接 OpenMP 运行时。 作为不安全、不受支持、无文档记录的解决方法,您可以设置 环境变量 KMP_DUPLICATE_LIB_OK=TRUE 允许程序 继续执行,但这可能会导致崩溃或默默产生 结果不正确。欲了解更多信息,请参阅 http://www.intel.com/software/products/support/。
我遇到了类似的问题,我通过从 Anaconda 环境文件夹路径此目录中删除 libiomp5md.dll 重复文件来修复它:
C:\Users\你的用户名.conda nvs\your_env_name\Library in\libiomp5md.dll
实际上降级
freetype
对我来说不起作用。
您可以将“libiomp5md.dll”添加回原始文件,它可以修复内核暂时死亡但导致OMP错误的问题。
我遇到了同样的问题,经过大量的调查和故障排除后,修复非常简单:
conda update -c anaconda numpy
conda upgrade -c conda-forge matplotlib
之后它运行良好,我的视觉效果绘制没有问题。
只有这个命令解决了我的问题
pip install numpy --upgrade