安装Matplotlib出现错误:致命错误C1083。

9

我相对不熟悉Python编程,想要学习Python中的统计和数据管理知识。为此,我想安装Matplotlib,但出现了一些问题。

我看到其他人也遇到了这个问题,但我还没有完全理解如何解决它。

我使用以下命令进行安装:

pip install matplotlib

我已安装以下规格

  • Windows 10
  • Python 3.8
  • Microsoft Studio 2019

我遇到的第一个错误是需要安装Microsoft Studio,所以我安装了它。我还尝试更新pip。

BUILDING MATPLOTLIB 
 matplotlib: yes [3.1.1] 
 python: yes [3.8.0 (tags/v3.8.0:fa919fd, Oct 14 2019, 19:21:23) [MSC v.1916 32 bit (Intel)]] 
 platform: yes [win32] 

...

 checkdep_freetype2.c
    src/checkdep_freetype2.c(1): fatal error C1083: Cannot open include file: 'ft2build.h': No such file or directory
    error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.23.28105\\bin\\HostX86\\x86\\cl.exe' failed with exit status 2
    ----------------------------------------
ERROR: Command errored out with exit status 1:

你面临的问题来自于 matplotlib 的构建过程失败。然而,通常情况下,matplotlib 在大多数主要平台上都有可用的 pip 轮,所以我想知道为什么它仍然尝试编译任何东西。命令行中的消息是否对它正在尝试构建的版本做了说明? - ImportanceOfBeingErnest
你是说这样的吗?编译MATPLOTLIB matplotlib: 是 [3.1.1] python: 是 [3.8.0 (tags/v3.8.0:fa919fd, Oct 14 2019, 19:21:23) [MSC v.1916 32 bit (Intel)]] 平台: 是 [win32]我两天前刚安装了Python,并在今天尝试安装MatPlotLib,但Numpy安装时没有任何问题。 - user12239916
4个回答

18
你有Python 3.8而不是Python 3.7.
但是在pypi上,Matplotlib 3.1.1没有Python 3.8版本的Wheels(二进制包)。因此最好完全删除Python 3.8并安装Python 3.7。
然后运行python -m pip install matplotlib,它将安装来自wheels预编译版本的Matplotlib,因此无需自己编译任何内容或具备Microsoft Studio。

非常感谢,问题已经解决了。我猜Matplotlib社区还没有更新以适应Python 3.8? - user12239916
1
@user12239916 是的,Python 3.8只是在几天前发布的,而Matplotlib 3.1.1是今年7月份发布的。下一个Matplotlib版本理论上应该与Python 3.8兼容;但通常情况下,仍可能存在一些小问题。除非你真的需要Python 3.8,否则最好等待半年直到一切都稳定了再使用。 - ImportanceOfBeingErnest
谢谢!你救了我。我一直搞不明白为什么它总是出问题,哈哈。 - Jonathan Ishii
请注意,matplotlib已经在Python 3.8上(以wheel格式)可用了数个月。 - Steve Barnes

5

在花费很多时间处理该问题后,以下内容帮助我解决了它:

python -m pip install -U matplotlib==3.2.0rc1

2
作为一种解决方法,您可以使用“Python扩展包的非官方Windows二进制文件”通过pip install <downloaded_filename>在Windows上安装matplotlib。

已在Python 3.8、Windows 10和matplotlib-3.2上进行了测试。

https://www.lfd.uci.edu/~gohlke/pythonlibs/#matplotlib


非常好的建议,对我来说很管用,而且不需要再进行任何配置或路径定义等操作。干得好! - mtjmohr

2
FYI:matplotlib网站的安装说明中提供了一些源代码安装的信息。

对于Windows,它指出需要设置包含路径和链接路径:

set CL=/IC:\directory\containing\ft2build.h ...
set LINK=/LIBPATH:C:\directory\containing\freetype.lib ...

1
你可以在这里找到所有的包含文件:https://github.com/ubawurinna/freetype-windows-binaries - pgampe

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接