web-dev-qa-db-fra.com

'ImportError: Aucun module nommé pytz' lors de la tentative d'importation de pylab?

Pour autant que je sache, je n'ai même pas besoin de pytz pour ce que je fais.

Je réapprends python pour le traitement d'images en utilisant le livre O'Reilly 'Programming Computer Vision with Python' pour le travail (et je suis également nouveau sur mac, donc sur les deux points je m'excuse) si c'est une question stupide.) Avec une image 'empire.jpg', j'essaye d'exécuter le script de la page 16 qui se déroule comme suit:

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

mais j'obtiens la sortie suivante avec une erreur:

  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

J'utilise OS X 10.9.4. J'ai installé matplotlib et numpy depuis macpython.org et j'ai installé scipy 0.11.0 tous pour python 2.5.

Ai-je même besoin de pytz? Sinon, comment contourner cette erreur?

16
nale

pylab nécessite pytz. La façon la plus simple d'installer un package dans Python est d'exécuter pip install pytz.

Aujourd'hui, Python est livré avec pip pré-installé, mais utilisez ces instructions si vous devez l'installer: https://pip.pypa.io/en/latest/installing. html

20
Itay Kahana

Tout d'abord si vous avez installé pip puis supprimez-le en supprimant le dossier de pip dans le répertoire python. Ensuite, installez pip par cette commande:

$ Sudo easy_install pip

Ensuite, vous devez réinstaller pytz par cette commande:

$ Sudo pip install pytz

Ne mettez pas à jour pip vers la 10ème version car elle pourrait contenir des bogues qui causent des problèmes.

4
Vicrobot