在Python 3.6中安装matplotlib时遇到问题

3
我正在努力学习Python,但感觉有点吃力。首先,我使用的是已安装Python 2.7的Mac。
最近我安装了Python 3.6并一直在用它来学习基础知识。我希望最终能够学会如何在Python中生成数学图表,我知道我需要使用Matplotlib包才能实现。
根据网上的一些建议,我被告知Python3已经预装了pip,这是我认为应该用来安装Matplotlib的工具。建议说我应该在Mac终端中输入以下内容: python3.6 -m pip install matplotlib
我输入了这个命令,似乎包正在安装,但最终出现了某种错误代码,显示:
Command "python setup.py egg_info" failed with error code 1 in [folder].
我尝试打开IDLE并输入“import matplotlib”,但出现了错误:“没有名为matplotlib的模块”。我还尝试输入“import matplotlib.pyplot as plt”,但同样出现了这个错误。

根据进一步的研究和这个YouTube视频,我决定只安装miniconda以便访问matplotlib包。

问题是,我不确定是否应该卸载运行上述代码以安装matplotlib时安装的任何内容。实际上,我已经运行了那行代码3或4次。在安装miniconda之前,我应该删除任何东西吗?此外,我正在运行python 3.6,而miniconda在网站上列为适用于python 3.5。这是否意味着它无法在我的python版本上工作?


最好使用Python 3.5而不是3.6——新版本可能没有你现在需要的任何新功能——等待一段时间,因为一些模块还没有为新版本做好准备。 - furas
7个回答

1
我在安装过程中也遇到了很多问题。
似乎matplotlib的第二个版本与Python 3不兼容。

最终,我通过以下命令指定matplotlib的第三个版本成功了:

sudo apt-get install python3-matplotlib

来自Matplotlib网站的参考:
https://matplotlib.org/users/installing.html#building-on-linux


1

像那样运行pip会在系统范围内安装软件包。我猜测它失败是因为您没有以root(即管理员用户)身份运行。但等等!不要再尝试以root身份运行!而是在虚拟环境中进行软件包安装。首先创建虚拟环境:

virtualenv myenv

这将创建一个名为myenv的目录,并在其中放置一些东西(因此请注意运行此命令的位置)。每当您想要使用虚拟环境时(比如立即使用!),您首先需要激活它:
. myenv/bin/activate

不要错过句首的那个点(后面跟着一个空格)!正如其他答案所说,你应该首先升级pip。
pip install --upgrade pip

现在你已经准备好安装其他任何你喜欢的东西了:

pip install matplotlib

最后一点提示:虚拟环境与特定的Python版本绑定。默认情况下,它使用系统的Python 2.7安装,因此如果要使用不同的Python版本,则需要在创建虚拟环境时指定它,如下所示(如果该Python版本已在系统范围内安装):

virtualenv -p python3.5 myenv

或者这样(如果那个Python版本没有被系统范围内安装):

virtualenv -p /path/to/my/installation/of/python3.5 myenv

在虚拟环境激活时,您无需指定特定的Python路径/版本。只需像这样运行它:
python

1
@user46944 是的,创建虚拟环境会创建一个新文件夹(在这个例子中叫做 ./myenv)。但是它的好处在于,只有在虚拟环境被激活时,pip installpip uninstall 才会影响该目录下的软件包。所以非常安全,因为如果你不小心把事情搞砸了,你可以直接删除整个目录(即 rm -r myenv),就像它从未存在过一样。要启动已激活该虚拟环境的 Idle,最简单的方法是从命令行激活虚拟环境,然后运行 python -m idlelib - Arthur Tacca
@user46944 1. 我对Mac的finder(或者Mac一般)一无所知,但是生成的文件夹只是一个普通的目录,所以我认为它会显示出来。 2. 不,你不应该把你的脚本保存在那里;虚拟环境目录只是用于通过pip安装的软件包。 3. 没有必要(但如果你愿意也可以);虚拟环境不应受到在其他地方安装的软件包的影响。 - Arthur Tacca

0

尝试升级安装工具

--upgrade setuptools

或者

easy_install -U setuptools

或者升级pip

pip install --upgrade pip

你只需要在终端中输入其中任意一个命令(取决于哪个不起作用),而无需其他任何内容。我之前在我的Mac上安装了matplotlib,当我开始阅读Amit Saha的《使用Python进行数学计算》时,指南说要通过输入-------------pip install matplotlib-venn--------来为Mac安装matplotlib。实际上,如果您最近安装了Python,则不需要升级pip,因为它随Python一起提供,所以如果我让您感到困惑,我很抱歉。要尝试它,请按以下提示操作--->转到终端,输入python,然后输入import matplotlib。完成!(除非出现错误) - AwesomeJackify
如果您认为已经下载了matplotlib并再次尝试安装,会有两种结果 - 1.成功下载它意味着第一次没有下载 2.显示您已经下载了它。3.它说您已经下载了它,并建议您升级,因为出现了新版本(如需升级,请按照屏幕提示操作)。抱歉,我没有提到matplotlib不支持python3。在GitHub上有一个不稳定的版本,但我不推荐使用。别担心,python2也不错。只要记住input()是raw_input! - AwesomeJackify

0

pip 命令通常用于 Python 2。请改用 pip3 在 Python 3.X 路径下安装库。

可以尝试以下命令: pip3 install matplotlib


0

Matplotlib文件下载在~/.local/lib/python3.6/site-packages/而不是/usr/lib/python3.6/。 尝试使用以下命令:

sudo cp -r ~/.local/lib/python3.6/site-packages/* /usr/lib/python3.6/

0

在Python 3.6中适用于我的解决方案如下:

py -m pip install matplotlib

0
我最终下载了Anaconda并使用其中附带的Python解释器,因为Anaconda附带了Matplotlib和许多其他有用的Python包。

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