【问题标题】:matplotlib can't load ft2font on Windows 10matplotlib 无法在 Windows 10 上加载 ft2font
【发布时间】:2018-04-17 23:32:36
【问题描述】:

我正在使用 Anaconda 5.0.1 和 Python 2.7.14。当我打开一个 jupyter notebook 并尝试运行以下命令时:

%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]

有什么想法吗?

【问题讨论】:

标签: python matplotlib anaconda freetype


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 我还必须包含“-upgrade”选项
    【解决方案3】:

    对上述建议稍作改进:

    pip install matplotlib --force-reinstall
    

    【讨论】:

    • 这对我有用,而上述解决方案不起作用
    【解决方案4】:

    我有同样的问题,在我的机器上,问题是在 Python 之前的 PATH 变量中提到了 Java(openJDK)(在我的例子中是 Anaconda)。

    如果您打开cmd 并输入

    echo %PATH%
    

    您也可以检查您的机器上是否存在这种情况。如果它声明 ...\Java\openJDK&lt;version&gt;\bin 在 Anaconda 目录之前,则表明找到了错误的 freetype.dll 库并发生错误。

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

    【讨论】:

      【解决方案5】:
      conda install freetype --force-reinstall
      

      【讨论】:

      • 您可能需要解释您的解决方案。
      • 不知道为什么,但这解决了我的问题。谢谢。
      【解决方案6】:

      def _check_versions():

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

      尝试安装 Microsoft Visual C++ 可再发行组件

      【讨论】:

        【解决方案7】:

        我发现如果终端正常启动时 conda 没有激活,就会出现这个错误。

        我发现通过打开终端,输入一堆东西并按 enter aa 很多来防止 conda 激活,然后当我尝试运行 matplotlib 包含脚本时,它会给我这个错误,但是当我让它启动时没有干扰,它不会给我这个错误(它会运行良好,至少超过这个错误)。

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

        【讨论】:

          【解决方案8】:

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

          【讨论】:

          • 安装 MS Visual C++ redistributable 2019 也解决了我的问题。对于使用 Python 创建的 PowerBI 视觉效果,我需要它。
          猜你喜欢
          • 1970-01-01
          • 2015-09-06
          • 1970-01-01
          • 2018-06-25
          • 2018-10-26
          • 2021-10-16
          • 1970-01-01
          • 1970-01-01
          • 2018-04-12
          相关资源
          最近更新 更多