Python 我尝试通过TextWrangler运行一个脚本-没有matplotlib模块

Python 我尝试通过TextWrangler运行一个脚本-没有matplotlib模块,python,matplotlib,Python,Matplotlib,我在MacOSX上安装了Python 3.6 import datetime as dt import matplotlib.pyplot as plt from matplotlib import style import pandas as pd import pandas_datareader.data as web 但是,当我运行它时,会收到以下错误消息: 回溯(最近一次调用上次):文件 “/Users/YoavPoni/Documents/Python/TextWranglerRun

我在MacOSX上安装了Python 3.6

import datetime as dt
import matplotlib.pyplot as plt
from matplotlib import style
import pandas as pd
import pandas_datareader.data as web
但是,当我运行它时,会收到以下错误消息:

回溯(最近一次调用上次):文件 “/Users/YoavPoni/Documents/Python/TextWranglerRunTemp-sen.py‌​", 线 4,将matplotlib.pyplot作为plt导入 ModuleNotFoundError:没有名为“matplotlib”的模块


有什么建议吗?

您可能需要更改运行程序时调用的Python。目前,您可能正在使用Mac OS X提供的标准Python(未安装matplotlib)。您需要做的是使用库中安装了matplotlib的Python运行代码

在Python代码的开头应该包括一行,如

#!/usr/bin/env python


/usr/bin/env
是安装了matplotlib的Python解释器的完整路径。

这是一篇较老的文章,但为了将来

用于安装Python 3.6的方法会影响它的安装方式(以及安装位置)。此外,所使用的方法可能无法正确更新和尊重Mac环境。错误引用TextWrangler(BBEdit)我发现在编辑器中避免此类问题的最简单方法是,按照@cosinepenguin的建议,在脚本shebang行中显式引用预期的Python版本。此外,确保脚本仅在兼容的Python版本下运行是一种很好的做法

所以,为了扩展答案,请考虑这些例子(我使用Python 2.7,因为我没有安装3.6)。它们只是SeBang-Link如何改变的例子——适当的一个可能或不匹配一个例子。

#! /usr/bin/env python
# -*- coding: utf-8 -*-

import pytz
加载时出错。但是:

#! /usr/bin/env python2.7
# -*- coding: utf-8 -*-

import pytz
没有

Traceback (most recent call last):
  File "untitled text 40", line 4, in <module>
    import pytz
ImportError: No module named pytz
也没有问题

确切正确的构造取决于售后市场Python版本的安装位置。有一些方法可以编辑Mac的环境变量,以包括售后市场Python 3.6安装的位置,但这可能很棘手,如果不正确执行,可能会把事情搞得一团糟。因此,我的建议是参考您的目标Python版本使用shebang行初始化,如果可能的话,不要使用环境变量


现在转到Matplotlib.AFAIK,Mac操作系统出厂时已经安装了Matplotlib(对于其已安装的Python版本),但可能是Python 3.6安装中没有Matplotlib。要安装该库,我强烈建议使用
pip
(我相信Python 3.6已经安装了
pip
)网上有很多教程(等等)关于如何使用
pip

运行命令:pip install matplotlibI,当我运行它时,它告诉我要求已经满足。您可以发布您收到的完整错误消息吗?不确定它是否显示我的图片===================================================================================================================================================================================================================================================================================================================================================================================================================================================================ments/Python/sen.py--------------------------------------------------------------------回溯(最近一次调用):文件“/Users/YoavPoni/Documents/Python/TextWranglerRunTemp-sen.py”,第4行,作为plt模块导入matplotlib.pyplot-ModuleNotFoundError:没有名为“matplotlib”的模块
#! /usr/bin/python2.7
# -*- coding: utf-8 -*-

import pytz