来自matplotlib的ft2font模块导入错误:"导入错误:DLL加载失败:找不到指定的程序。"

18
我有Windows 7操作系统。 在安装matplotlib(通过pip)时,f2tfont.cpp由于某种原因无法编译,因此matplotlib安装失败。同时,matplotlib installer找不到Python安装文件。 请参见here的评论以获取更多问题细节。
13个回答

23

以下命令对我有用。我认为问题出在新的matplotlib版本3.3.1上。我将其降级到matplotlib 3.0.3。

我卸载了较新的版本,然后重新打开命令提示符并安装了matplotlib 3.0.3。它对我起作用了。我不确定它是否适用于您,因此建议查看讨论

pip uninstall matplotlib
pip install matplotlib==3.0.3

2
在Windows 10上,使用miniconda和Python 3.7的虚拟环境,将matplotlib-3.0.3降级对我有用。 - Vizag
1
有人给这个人颁发奖章。在所有互联网的解决方案中,这个简单的解决方案完成了任务。非常感谢你。 - Pramesh Bajracharya
事情变了。你的方法现在不起作用了。错误:命令以状态1退出:python setup.py egg_info。检查日志以获取完整的命令输出。考虑更新你的答案? - xidchen

9

这解决了我的问题。

matplotlib 3.1.1 发布之前的一个解决方法是,您可以使用以下命令安装此软件包 msvc-runtime

pip install msvc-runtime

很好展示你的参考资料。https://github.com/matplotlib/matplotlib/issues/14558#issuecomment-502769057 - Rami Alloush

5

我在Windows 10上使用Anaconda命令提示符,这种方法对我有效:

pip uninstall matplotlib
pip install --upgrade matplotlib

5
这对我在Windows 10上有效:
pip install matplotlib==3.2.1

5

您需要在您的系统中安装Visual Studio C++。

安装带有C++发行版的Visual Studio 2019。

这对我来说运行得非常完美。


2
安装Visual Studio C++解决了我的问题(Win10,Python 3.9.1,Matplotlib 3.3.3)。Visual Studio C++ x64下载的直接链接在此处:https://aka.ms/vs/16/release/vc_redist.x64.exe。 - awadhesh14
也适用于我,(win10,python 3.7.4,matplotlib 3.2.1) - user1455613

4
根据PEP 11的规定,Python版本仅支持在微软官方认为该平台处于扩展支持期的Windows平台上运行。这意味着Python 3.7支持Windows Vista及更新版本。如果需要Windows XP支持,请安装Python 3.4。
对于Python 3.6+,您需要安装Windows Service Pack 1

enter image description here

如果没有安装Windows Service Pack。您可以从这里手动下载Windows 7 Service Pack 1(SP1),或者您也可以从Windows 7的Windows Update中下载它。
Python需要Microsoft C runtime for Visual Studio 2015,特别是文件ucrtbase.dll

enter image description here 因此,您需要从这里安装Microsoft Visual C++ redistribution 2015
不需要安装Microsoft Visual Studio,只需安装2015年的C++ redistributions即可完成工作。

3

我曾经遇到过这个问题,然后卸载并重新安装了conda,并通过conda更新了所有的包。但是问题仍然存在。接着我使用conda卸载了有问题的包(在我的情况下,这个错误出现在matplotlib和h5py两个包中),然后使用pip重新安装它们。这似乎解决了问题。奇怪的是,它只会在控制台中给出这个错误。当在Jupyter笔记本中运行时,我没有看到这个错误。可能是IPython和Python之间的一些差异。


2
我正在使用 Windows 7,Python 版本为 3.7.1,Pip 版本为 19.1.1。
我需要安装 Microsoft Visual Studio。使用 Pip 安装 matplotlib 时需要 kiwisolver,而 kiwisolver 需要 Microsoft Visual Studio。它是免费的,但是下载 4MB 的文件却花费了一到两个小时来安装。
在没有安装 Visual Studio 的情况下使用 Pip 安装 matplotlib 后,运行我的脚本。
import matplotlib.pyplot as plt

我遇到的错误是:


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

安装Visual Studio后一切都很顺利!请在这里下载Microsoft Visual Studio。

2
如果您只是导入matplotlib就出现了这个错误,那么您可能安装的matplotlib有问题。您是自己编译的(我觉得非常难做到),还是使用了官方页面上的二进制安装程序(只要您事先安装了依赖项,就可以像魔术般工作)?
请勿使用pip安装matplotlib和numpy,但对于所有其他依赖项,请使用它。随着matplotlib的发布,这种情况可能会改变。
Windows系统Python控制台输出:
>>> matplotlib.__version__
'1.3.1'
>>> from matplotlib import ft2font
>>>

我使用了 python(x,y) 安装程序来获取 matplotlib。我知道这不是安装程序的问题,因为我在另一台计算机上使用了相同的安装程序,一切都正常工作。你会建议我如何修复我的安装失败? - bzm3r
我没有使用过python(x,y)(虽然曾经考虑过,但发现与手动安装相比没有真正的优势)。你应该在原问题中提到python(x,y)。我建议你尝试彻底卸载python(x,y)(必要时手动删除文件系统中的残留文件),然后重新开始。如果问题仍然存在,你可以尝试另一个Python发行版,如Anaconda。 - nepix32
说实话,我非常喜欢Spyder。就用户体验而言,没有什么能够超越它。 - bzm3r
然后我卸载了所有东西,并手动从注册表和C:\驱动器(我安装Python的地方)中删除了尽可能多的内容。我尝试重新安装所有内容。仍然存在同样的问题 - matplotlib安装程序说没有安装Python 2.7,而pip也有相同的问题。我尝试使用此处提供的注册表补丁(https://dev59.com/xHA65IYBdhLWcg3wvxaE#9131949),试图修复注册表...但是matplotlib安装程序仍然说我没有安装Python 2.7... - bzm3r
我感到非常沮丧,不确定该怎么做。我的问题始于我尝试使用Enthought Canopy(我获得了学术许可证)。我并不是很喜欢它,所以我卸载了它,但是...自那以后什么都不对劲了。我尝试在卸载后删除所有的Enthought注册表键,所以我觉得一切应该都很清洁。 - bzm3r
显示剩余7条评论

2

以上的解决方案都没有对我起作用!尝试这个:

pip uninstall matplotlib
pip install -U matplotlib==3.2.0rc1

1
谢谢!这对我在Windows 10和Python 3.8上的问题立竿见影。 - Thomas Cannon

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