J'ai installé matplotlib à l'aide du programme d'installation d'image de disque Mac pour MacOS 10.5 et Python 2.5. J'ai installé numpy puis essayé d'importer matplotlib mais j'ai eu cette erreur: ImportError: numpy 1.1 or later is required; you have 2.0.0.dev8462
. Il semble que cette version 2.0.0.dev8462 serait plus tard que la version 1.1 mais je devine que matplotlib s'est confondu avec le ".dev8462" dans la version. Y at-il une solution de contournement à cela?Impossible d'importer matplotlib
Répondre
Voici le code gênant situé dans Lib/site-packages/matplotlib/__init__.py
dans ma distribution de python sur Windows
nn = numpy.__version__.split('.')
if not (int(nn[0]) >= 1 and int(nn[1]) >= 1):
raise ImportError(
'numpy 1.1 or later is required; you have %s' % numpy.__version__)
Le problème est qu'il exige à la fois le premier à chiffres (séparés par des périodes) pour être supérieure ou égale à 1 et dans votre cas, le deuxième chiffre est un 2. vous pouvez contourner dans un certain nombre de façons, mais une façon est de changer l'instruction if pour
if not ((int(nn[0]) >= 1 and int(nn[1]) >= 1) or int(nn[0]) >= 2):
ou vous pouvez simplement changer à:
if not (float('.'.join(nn[2:])) >= 1.1):
qui pourrait être mieux.
+1. Mais voici une version plus simple: '(int (nn [0]), int (nn [1]))> = (1, 1)'. En fait, les tuples se comparent à ce que l'on appelle "l'ordre du dictionnaire". – EOL
Après le commentaire de Justin ... voici le fichier équivalent pour Linux:
/usr/lib/pymodules/python2.6/matplotlib/__init__.py
modifier sudo que pour fixer la ligne gênant pour: sinon ((int (nn [0])> = 1 et int (nn [1])> = 1) ou int (nn [0])> = 2):
Merci Justin Peel!
- 1. Boxplot carré Matplotlib
- 2. Cases de tirage Matplotlib
- 3. Matplotlib lignes courbes transparentes
- 4. Problèmes d'installation de Matplotlib
- 5. Grilles multiples sur matplotlib
- 6. Courir matplotlib dans tkinter
- 7. Mode interactif dans matplotlib
- 8. matplotlib pyplot colorbar question
- 9. matplotlib frontière largeur
- 10. Matplotlib Contour Clabel Emplacement
- 11. étiquettes matplotlib matshow
- 12. fullscreen matplotlib figures
- 13. matplotlib pour l'utilisateur R?
- 14. toile Matplotlib dessin
- 15. Matplotlib: rotation d'un patch
- 16. Matplotlib image de garniture
- 17. Aide de légende Matplotlib
- 18. Matplotlib Créer Problème: Erreur C1083: Impossible d'ouvrir le fichier à inclure: 'ft2build.h'
- 19. Comment changer d'axe dans matplotlib?
- 20. Comment fixer ImportError dans matplotlib
- 21. modifier les paramètres d'axe matplotlib
- 22. Dessin de cartogrammes avec Matplotlib?
- 23. matplotlib équivalent pour MATLABs truesize()
- 24. Python dessin graphique cumulatif (matplotlib)
- 25. Faire Matplotlib courir plus vite
- 26. traçage sparce temps avec matplotlib
- 27. Matplotlib: tracer des valeurs discrètes
- 28. Comment copier la figure matplotlib?
- 29. Matplotlib Legend dans une boucle?
- 30. Supprimer des lignes dans matplotlib
Numpy 2.0 n'est pas rétrocompatible avec matplotlib, et il * va * tomber en panne si vous essayez d'exécuter matplotlib dessus. Si vous voulez exécuter numpy 2. *, vous devrez reconstruire chaque paquet qui utilise numpy C API (matplotlib, scipy, etc ...). –