尝试导入pylab时出现'ImportError: No module named pytz'错误?

34

据我所知,对于我要做的事情,我甚至不需要使用pytz。

我正在重新学习Python以进行图像处理,使用O'Reilly书籍“Programming Computer Vision with Python”进行工作(我还是新手Mac用户,因此在这两个方面都很抱歉,如果这是一个愚蠢的问题)。 除了一张名为'empire.jpg'的图片外,我还尝试在第16页运行以下脚本:

from PIL import Image
from pylab import *
# read image to array
im = array(Image.open('empire.jpg')) # plot the image
imshow(im)
# some points
x = [100,100,400,400]
y = [200,500,200,500]
# plot the points with red star-markers
plot(x,y,'r*')
# line plot connecting the first two points
plot(x[:2],y[:2])
# add title and show the plot
title('Plotting: "empire.jpg"')
show()

但是我得到了以下带有错误的输出:

  File "plotch1.py", line 2, in <module>
    from pylab import *
  File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/pylab.py", line 1, in <module>
    from matplotlib.pylab import *
  File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/matplotlib/pylab.py", line 208, in <module>
    from matplotlib import mpl  # pulls in most modules
  File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/matplotlib/mpl.py", line 4, in <module>
    from matplotlib import axes
  File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/matplotlib/axes.py", line 18, in <module>
    from matplotlib import dates as mdates
  File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/matplotlib/dates.py", line 82, in <module>
    import pytz
ImportError: No module named pytz

我正在使用OS X 10.9.4。我从macpython.org安装了matplotlib和numpy,并安装了适用于Python 2.5的scipy 0.11.0。

我是否需要pytz?如果不需要,我该如何解决这个错误?


1
显然 matplotlib 需要 pytz;只需安装该软件包即可? - Martijn Pieters
我已经尝试使用easy_install和各种在线来源安装pytz,但似乎没有任何区别。 - nale
好的,现在我已经安装了带有Spyder的Anaconda 3,它可以正常工作了。我仍然不确定bash到底在做什么。 - nale
2个回答

39

Pylab需要pytz

在Python中安装软件包的最简单方法是运行pip install pytz命令。

如今,Python预装了pip,但如果您需要安装它,请使用以下说明:安装:我需要安装pip吗?


也许将来只会有 pip3,所以这个命令将是 pip3 install pytz - Arun
2
有时候你只需要执行 pip install --upgrade pytz - Ibrahim.H
Ibrahim.H,谢谢你,升级帮了我。 - Sergo

11

首先,如果您已安装pip,请通过删除python目录中的pip文件夹来卸载它。然后使用以下命令安装pip:

$ sudo easy_install pip

接下来您需要通过以下命令重新安装pytz:

$ sudo pip install pytz

不要升级 pip 到第10个版本,因为它可能包含导致问题的错误。


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