导入matplotlib失败,出现DLL加载错误,但仅在spyder中

导入matplotlib失败,出现DLL加载错误,但仅在spyder中,matplotlib,virtualenv,python-import,spyder,Matplotlib,Virtualenv,Python Import,Spyder,我用的是迷你康达。Spyder安装在基本环境中,并配置了Spyder_内核,以指向我的工作环境中名为py37的解释器。这就是安装numpy、pandas和matplotlib的地方 当我在命令提示符下激活py37并在那里使用python时,我可以在脚本中使用matplotlib而不会发生意外 当我尝试从spyder运行相同的脚本时,出现以下DLL导入错误: File "C:\Users\eli\miniconda3\envs\py37\lib\site-packages\matplotlib\_

我用的是迷你康达。Spyder安装在基本环境中,并配置了Spyder_内核,以指向我的工作环境中名为py37的解释器。这就是安装numpy、pandas和matplotlib的地方

当我在命令提示符下激活py37并在那里使用python时,我可以在脚本中使用matplotlib而不会发生意外

当我尝试从spyder运行相同的脚本时,出现以下DLL导入错误:

File "C:\Users\eli\miniconda3\envs\py37\lib\site-packages\matplotlib\__init__.py", line 190, in _check_versions
        from . import ft2font

ImportError: DLL load failed: The specified module could not be found.

有人能告诉我如何进一步诊断这个问题吗?它似乎正在尝试从正确的环境导入
import numpy
import pandas
都可以工作(两者都只安装在py37中,而不是安装在base中)。这是来自基础环境的某种干扰吗?我知道我可以在py37环境中安装spyder,但我喜欢spyder内核的想法,因为它可以使工作环境更简单。。。如果我能让它工作。

这个问题似乎需要在Spyder和Spyder内核端进行升级和/或在Windows端设置环境变量

在Spyder方面,发布候选版本(4.0.0rc2)有了改进,最新的python和Spyder内核>1.8。这些必须从spyder ide通道安装

然后对我来说,它仍然不起作用,因为一个旧的DLL搜索路径问题。我必须设置这个环境变量,它从Anaconda的搜索路径中取出一个系统目录:

CONDA_DLL_SEARCH_MODIFICATION_ENABLE to 1
在我的系统中,我认为只尝试后一种改变可能会很有趣


我感谢spyder开发人员。这需要几次迭代。

这个问题似乎需要在Spyder和Spyder内核端进行升级和/或在Windows端设置环境变量

在Spyder方面,发布候选版本(4.0.0rc2)有了改进,最新的python和Spyder内核>1.8。这些必须从spyder ide通道安装

然后对我来说,它仍然不起作用,因为一个旧的DLL搜索路径问题。我必须设置这个环境变量,它从Anaconda的搜索路径中取出一个系统目录:

CONDA_DLL_SEARCH_MODIFICATION_ENABLE to 1
在我的系统中,我认为只尝试后一种改变可能会很有趣


我感谢spyder开发人员。这需要多次迭代。

标记应该是
matplotlib
,而不是
numpy
,对吗?现在,如果我没记错的话,我在
ft2font
导入(分别是引用的
dll
)时遇到了类似的问题。我不是100%确定,但我认为从中安装
matplotlib
为我解决了这个问题,因为这与某些特定于操作系统的
dll
(在Linux上工作,而不是在Windows上工作)有关。我必须说,我没有使用
conda
/
miniconda
,所以我不知道这是否适用于您。是的,这是正确的。标记应该是
matplotlib
,而不是
numpy
,对吗?现在,如果我没记错的话,我在
ft2font
导入(分别是引用的
dll
)时遇到了类似的问题。我不是100%确定,但我认为从中安装
matplotlib
为我解决了这个问题,因为这与某些特定于操作系统的
dll
(在Linux上工作,而不是在Windows上工作)有关。但我必须说,我没有使用
conda
/
miniconda
,所以我不知道这是否适用于您。是的,这是正确的。