33

As far as I can tell, I don't even need pytz for what I'm doing.

I'm re-learning python for image processing using the O'Reilly book 'Programming Computer Vision with Python' for work (and I'm also new to mac, so on both counts I apologise if this is a stupid question). Along with a 'empire.jpg' picture, I'm trying to run the script on page 16 which goes as follows:

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()

but I get the following output with an error:

  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

I'm using OS X 10.9.4. I've installed matplotlib and numpy from macpython.org and I've installed scipy 0.11.0 all for python 2.5.

Do I even need pytz? If not, how can I get around this error?

Martijn Pieters
  • 1,048,767
  • 296
  • 4,058
  • 3,343
nale
  • 451
  • 1
  • 4
  • 4
  • I've tried installing pytz using both easy_install and various sources online, but it doesn't seem to make any difference. – nale Oct 14 '14 at 12:09
  • Okay, I've got it working now that I've installed Anaconda 3 with Spyder. I'm still not sure what the heck bash was doing. – nale Oct 14 '14 at 12:20

2 Answers2

38

pylab requires pytz. The easiest way to install a package in Python is to run pip install pytz.

Today, Python comes with pip pre-installed, but use these instructions if you need to install it: Installation: Do I need to install pip?

ckujau
  • 225
  • 1
  • 15
Itay Kahana
  • 2,355
  • 1
  • 26
  • 20
10

Firstly if you have installed pip then remove it by deleting the folder of pip inside python directory. Then install pip by this command:

$ sudo easy_install pip

Then you need to install pytz again by this command:

$ sudo pip install pytz

Don't update pip to 10th version because it might contain bugs which is causing problems.

Vicrobot
  • 3,795
  • 1
  • 17
  • 31