安装MatPlotLib时出现错误

时间:2020-11-08 23:50:27

标签: python matplotlib pip package

我试图安装软件包epispot来模拟此COVID-19爆发,但是当我运行pip install epispot时,它安装了所有依赖项,包括MatPlotLib。当它尝试安装matplotlib时,给了我一个很大的错误,它占用了命令提示符高度的四分之一(即滚动条的高度)。然后,我尝试仅安装matplotlib,然后将要安装Epispot,但是在安装matplotlib时出现了相同的错误。我更新了点子,看是否是问题所在,但并没有改变。还有其他安装matplotlib的方法吗?并且还会安装所有依赖项。我在Windows计算机上,并且如果有帮助,则出现以下错误:Building wheel for matplotlib (setup.py) ...

更新-对于@rocketsfallonrocketfalls,错误为Building wheel for matplotlib (setup.py) ... error ERROR: Command errored out with exit status 1: command: 'C:\Users\user \AppData\Local\Programs\Python\Python39\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\user \\AppData\\Local\\Temp\\pip-install-66pka4wo\\matplotlib\\setup.py'"'"'; __file__='"'"'C:\\Users\\user \\AppData\\Local\\Temp\\pip-install-66pka4wo\\matplotlib\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d 'C:\Users\user \AppData\Local\Temp\pip-wheel-o1u86tpl' cwd: C:\Users\user \AppData\Local\Temp\pip-install-66pka4wo\matplotlib\ Complete output (571 lines):

2 个答案:

答案 0 :(得分:1)

@ Mr.T已经阐明了发生这种情况的原因(还没有安装Python的Matplotlib的Python轮子)3.9,我想添加解决方案。

最简单的解决方案是使用虚拟环境,而不用删除到目前为止的内容。虚拟环境基本上是一种可以轻松切换的环境,您可以在每种环境中使用安装了所有不同API /模块的每种Python版本,以免它们相互交叉。 因此,您可以使用Python 3.7创建虚拟环境并在其上轻松安装Matplotlib。这是一个有用的链接,展示了如何使用pip进行操作,这非常简单:

How to create virtual environment for python 3.7.0?

但是,由于我喜欢conda的便利,因此建议您卸载Python并使用Anaconda重新安装。默认情况下,您已经需要安装的大多数东西都已安装,因此您无需担心正确安装它们。而且管理虚拟环境也不需要任何进一步的安装,因此,每当需要创建新环境时,都只需使用conda环境。

答案 1 :(得分:0)

我找到了!尽管Python 3.9没有安装Matplotib的问题是一个问题和主要问题(感谢@rocketsfallonrocketfalls和@Mr。T的发现),但安装NumPy时似乎在Windows上存在问题,这是Windows XP的另一个依赖项。 epispot软件包,如果您还记得的话,这就是我要安装的软件包。因此,在使用Python 3.8时,它给了我一个不同的错误。您可以在这里找到详细信息-https://github.com/numpy/numpy/issues/16739

现在,针对此问题的解决方案,至少我正在使用的解决方案是使用Anaconda的Python版本,然后从Github的源代码中将Epispot软件包克隆到项目目录中(我可以删除所有额外的文件和Epispot文件夹)。由于Numpy是Anaconda附带的,所以我有numpy,matplotlib和Epispot。