matplotlib无法在Windows 10上加载ft2font

时间:2017-11-05 20:15:46

标签: python matplotlib anaconda freetype

我正在使用带有Python 2.7.14的Anaconda 5.0.1。当我打开一个jupyter笔记本并尝试运行以下内容时:

%matplotlib inline

我收到以下错误:

ImportError                               Traceback (most recent call last)
C:\toolkits.win\anaconda2\envs\dlc\lib\site-packages\matplotlib\font_manager.py in <module>()
     56 
     57 import matplotlib
---> 58 from matplotlib import afm, cbook, ft2font, rcParams, get_cachedir
     59 from matplotlib.compat import subprocess
     60 from matplotlib.fontconfig_pattern import (

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

当我尝试深入研究错误时,问题出在ft2font:

In [1]: from matplotlib import ft2font
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-1-a32e7826851f> in <module>()
----> 1 from matplotlib import ft2font

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

我仔细检查并确保安装了freetype:

(dlc) C:\Users\Larry>conda install freetype
Fetching package metadata .............
Solving package specifications: .

# All requested packages already installed.
# packages in environment at C:\toolkits.win\anaconda2\envs\dlc:
#
freetype                  2.8               vc9hf582001_0  [vc9]

有什么想法吗?

8 个答案:

答案 0 :(得分:1)

def _check_versions():

# Quickfix to ensure Microsoft Visual C++ redistributable
# DLLs are loaded before importing kiwisolver
from . import ft2font

尝试安装可重新分发的Microsoft Visual C ++

答案 1 :(得分:1)

我通过安装最后一个 Microsoft Visual C++ Redistributable 2019 解决了这个问题。 就我而言: 蟒蛇 3.8.7 matplotlib:20.3.3 test.py result in IDLE

答案 2 :(得分:0)

调试到同一个问题。这似乎是另一个访问拒绝的问题。

解决方案:在提升模式下重新安装matplotlib。

  1. 以管理员身份启动Anaconda提示
  2. 运行conda install matplotlib
  3. 完成安装所需的所有包。

答案 3 :(得分:0)

我的解决方案:卸载matplotlib,然后用 pip 重新安装。

答案 4 :(得分:0)

对上述建议进行一些改进:

pip install matplotlib --force-reinstall

答案 5 :(得分:0)

我遇到了同样的问题,并且在我的机器上,问题是在PATH变量中提到了Java(openJDK),而Python之前是该变量(在我的情况下为Anaconda)。

如果您打开cmd并输入

echo %PATH%

您也可以检查计算机是否也是如此。如果它指出...\Java\openJDK<version>\bin在Anaconda目录之前,则发现错误的freetype.dll库并发生错误。

您要做的就是更改PATH,以在Java目录之前声明anaconda目录。但这可能会引起Java的另一组问题...

答案 6 :(得分:0)

conda install freetype --force-reinstall

答案 7 :(得分:0)

我发现,如果在终端正常启动时conda没有激活,则会出现此错误。

我发现通过打开终端,键入一堆东西并大量按Enter来防止conda激活,然后当我尝试运行包含matplotlib的脚本时,它将出现此错误,但是当我让它启动时在没有干扰的情况下,它不会给我这个错误(它可以正常运行,至少会超过此错误)。

考虑到这一点,如果可能的话,将import matplotlib保留在文件顶部可能会很有用,这样您就不必等待片刻,然后发现不会加载matplotlib。